作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!