gpt4 book ai didi

api - Twitter Account Activity API - 如何为事件订阅 webhook?

转载 作者:行者123 更新时间:2023-12-01 22:33:44 25 4
gpt4 key购买 nike

我正在使用 golang 开发一个 Twitter 机器人。我一直按照 here 中的说明进行操作
为了让我的 webhook 监听(订阅)一个 Twitter 帐户(机器人)的事件,我必须为我的 webhook 订阅事件。指南在 here
这就是我卡住的地方。我已经成功注册了我的 webhook,但我一直无法订阅事件。
这是我运行的代码:

func main() {
//Load env
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
log.Println("Error loading .env file")
}


subscribeWebhook()
}

func CreateClient() *http.Client {
//Create oauth client with consumer keys and access token
config := oauth1.NewConfig(os.Getenv("CONSUMER_KEY"), os.Getenv("CONSUMER_SECRET"))
token := oauth1.NewToken(os.Getenv("ACCESS_TOKEN_KEY"), os.Getenv("ACCESS_TOKEN_SECRET"))

return config.Client(oauth1.NoContext, token)
}

func subscribeWebhook() {
log.Println("Subscribing webapp...")
client := CreateClient()
path := "https://api.twitter.com/1.1/account_activity/all/" + os.Getenv("WEBHOOK_ENV") + "/subscriptions.json"
resp, err := client.PostForm(path, nil)
if err != nil {
panic(err)
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
defer resp.Body.Close()
//If response code is 204 it was successful
if resp.StatusCode == 204 {
log.Println("Subscribed successfully")
} else if resp.StatusCode != 204 {
log.Println("Could not subscribe the webhook. Response below:")
log.Println(string(body))
}
}
这是我得到的回应:
{
"errors": [
{
"code": 348,
"message": "Client application is not permitted to access this user's webhook subscriptions."
}
]
}
请任何人帮我解决这个问题。谢谢各位。

最佳答案

我已经想通了。
事实证明,在开发者门户中的应用设置中,您必须为您的应用授予完全权限(读取、写入和直接消息)。然后,重新生成您的 key 和 token 。最后用新的键和 token 更新你的环境变量。

关于api - Twitter Account Activity API - 如何为事件订阅 webhook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62862608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com