Я разрабатываю бота для Twitter, используя golang. Я следовал инструкциям, написанным здесь
Чтобы мой веб-перехватчик слушал (подписывался) на активность учетной записи Twitter (бота), я должен подписать свой веб-перехватчик на события . Руководство находится в здесь
Вот где я застрял. Мне удалось зарегистрировать свой веб-перехватчик, но я все еще не могу подписать его на события.
Вот код, который я запускаю:
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."
}
]
}
Пожалуйста, помогите мне разобраться. Спасибо, ребята.