Jadual Kandungan
Kandungan soalan
Penyelesaian
Rumah pembangunan bahagian belakang Golang Bagaimana untuk tweet menggunakan Go menggunakan Twitter API v2?

Bagaimana untuk tweet menggunakan Go menggunakan Twitter API v2?

Feb 08, 2024 pm 10:30 PM
pergi bahasa

如何使用 Twitter API v2 使用 Go 发布推文?

Dalam era media sosial hari ini, Twitter telah menjadi platform penting bagi ramai orang untuk berkomunikasi, berkongsi dan mendapatkan maklumat. Menggunakan API Twitter untuk tweet adalah kemahiran penting untuk pembangun. Dalam artikel ini, editor PHP Youzi akan memperkenalkan kepada anda cara menggunakan Twitter API v2 dan bahasa Go untuk menerbitkan tweet. Dengan menguasai teknik ini, anda akan dapat menerbitkan kandungan di Twitter dengan lebih fleksibel dan berinteraksi dengan lebih ramai pengguna. Mari kita ketahui bersama!

Kandungan soalan

Seperti tajuknya, apabila saya cuba tweet menggunakan Go (saya mempunyai akaun pembangun X/Twitter percuma) saya mendapat mesej ralat berikut:

<code>
2023/12/06 21:56:24 twitter: 453 You currently have access to a subset of Twitter API v2 endpoints and limited v1.1 endpoints (e.g. media post, oauth) only. If you need access to this endpoint, you may need a different access level. You can learn more here:
https://developer.twitter.com/en/portal/product
2023/12/06/21:56:24 &amp;{Status:403 Forbidden StatusCode:403 ... [truncated for brevity]}
</code>
Salin selepas log masuk

Ini kod semasa saya:

package main

import (
    // other imports
    &quot;fmt&quot;
    &quot;github.com/joho/godotenv&quot;
    &quot;log&quot;
    &quot;os&quot;

    &quot;github.com/dghubble/go-twitter/twitter&quot;
    &quot;github.com/dghubble/oauth1&quot;
)

type Credentials struct {
    ConsumerKey       string
    ConsumerSecret    string
    AccessToken       string
    AccessTokenSecret string
}

func getClient(creds *Credentials) (*twitter.Client, error) {
    config := oauth1.NewConfig(creds.ConsumerKey, creds.ConsumerSecret)
    token := oauth1.NewToken(creds.AccessToken, creds.AccessTokenSecret)

    httpClient := config.Client(oauth1.NoContext, token)
    client := twitter.NewClient(httpClient)

    verifyParams := &amp;twitter.AccountVerifyParams{
        SkipStatus:   twitter.Bool(true),
        IncludeEmail: twitter.Bool(true),
    }

    user, _, err := client.Accounts.VerifyCredentials(verifyParams)
    if err != nil {
        return nil, err
    }

    log.Printf(&quot;User's ACCOUNT:\n%+v\n&quot;, user)
    return client, nil
}

func init() {
    if err := godotenv.Load(); err != nil {
        log.Fatal(&quot;Error loading .env file&quot;)
    }
}

func main() {
    creds := Credentials{
        AccessToken:       os.Getenv(&quot;ACCESS_TOKEN&quot;),
        AccessTokenSecret: os.Getenv(&quot;ACCESS_TOKEN_SECRET&quot;),
        ConsumerKey:       os.Getenv(&quot;CONSUMER_KEY&quot;),
        ConsumerSecret:    os.Getenv(&quot;CONSUMER_SECRET&quot;),
    }
    {
        // some code here...

        client, err := getClient(&amp;creds)
        if err != nil {
            log.Println(&quot;Error getting Twitter Client, this is expected if you did not supply your Twitter API tokens&quot;)
            log.Println(err)
        }

        message := &quot;Hello World&quot;
        tweet, resp, err := client.Statuses.Update(message, nil)
        if err != nil {
            log.Println(err)
        }
        log.Printf(&quot;%+v\n&quot;, resp)
        log.Printf(&quot;%+v\n&quot;, tweet)
    }

}
Salin selepas log masuk

Saya telah melawat beberapa sumber dalam talian tetapi mereka nampaknya tertumpu kebanyakannya pada contoh Python dan saya sedang mencari bantuan khusus Go. Sebarang pandangan atau cadangan tentang cara menyelesaikan isu ini amat dihargai.

Penyelesaian

Perpustakaan yang anda gunakan, go-twitter, menggunakan API twitter v1.1. Pelan percuma tidak mempunyai akses kepada API ini, itulah maksud mesej ralat yang anda terima.

Untuk perpustakaan yang menggunakan v2, lihat dokumentasi: https://developer.twitter.com/ en/docs/twitter-api/tools-and-libraries/v2#go

Atas ialah kandungan terperinci Bagaimana untuk tweet menggunakan Go menggunakan Twitter API v2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan refleksi untuk mengakses medan dan kaedah persendirian dalam golang Cara menggunakan refleksi untuk mengakses medan dan kaedah persendirian dalam golang May 03, 2024 pm 12:15 PM

Cara menggunakan refleksi untuk mengakses medan dan kaedah persendirian dalam golang

Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang Apr 25, 2024 pm 02:39 PM

Petua untuk mencipta fungsi baharu secara dinamik dalam fungsi golang

Perbezaan antara ujian prestasi dan ujian unit dalam bahasa Go Perbezaan antara ujian prestasi dan ujian unit dalam bahasa Go May 08, 2024 pm 03:09 PM

Perbezaan antara ujian prestasi dan ujian unit dalam bahasa Go

Apakah perangkap yang perlu kita perhatikan semasa mereka bentuk sistem teragih dengan teknologi Golang? Apakah perangkap yang perlu kita perhatikan semasa mereka bentuk sistem teragih dengan teknologi Golang? May 07, 2024 pm 12:39 PM

Apakah perangkap yang perlu kita perhatikan semasa mereka bentuk sistem teragih dengan teknologi Golang?

Perpustakaan dan alatan teknologi Golang yang digunakan dalam pembelajaran mesin Perpustakaan dan alatan teknologi Golang yang digunakan dalam pembelajaran mesin May 08, 2024 pm 09:42 PM

Perpustakaan dan alatan teknologi Golang yang digunakan dalam pembelajaran mesin

Evolusi konvensyen penamaan fungsi golang Evolusi konvensyen penamaan fungsi golang May 01, 2024 pm 03:24 PM

Evolusi konvensyen penamaan fungsi golang

Peranan teknologi Golang dalam pembangunan IoT mudah alih Peranan teknologi Golang dalam pembangunan IoT mudah alih May 09, 2024 pm 03:51 PM

Peranan teknologi Golang dalam pembangunan IoT mudah alih

Bolehkah parameter pembolehubah golang digunakan untuk mengembalikan nilai fungsi? Bolehkah parameter pembolehubah golang digunakan untuk mengembalikan nilai fungsi? Apr 29, 2024 am 11:33 AM

Bolehkah parameter pembolehubah golang digunakan untuk mengembalikan nilai fungsi?

See all articles