python - 无法为 Twitter 帐户活动 API [python3] 注册 webhook
问题描述
我正在尝试使用 Account Activity API 设置 Twitter 应用程序,以替换使用用户流端点的旧设置。我希望能够将 DM 消息实时发送到特定 URL 的一个用户。
按照这些迁移说明,我已经在我的站点上设置了一个 webhook 端点,如此处所述。我检查了该过程是否正常,确保当我https://example.com/webhook_endpoint?crc_token=foo
在浏览器中打开时,我会收到一个令牌作为响应。
现在我正在尝试注册我的 webhook,但失败了。我正在使用以下代码,并得到 403 响应。
from requests_oauthlib import OAuth1Session
import urllib
CONSUMER_KEY = 'my consumer key'
CONSUMER_SECRET = 'my consumer secret'
ACCESS_TOKEN = 'my access token'
ACCESS_SECRET = 'my access secret'
twitter = OAuth1Session(CONSUMER_KEY,
client_secret=CONSUMER_SECRET,
resource_owner_key=ACCESS_TOKEN,
resource_owner_secret=ACCESS_SECRET)
webhook_endpoint = urllib.parse.quote_plus('https://example.com/webhook/')
url = 'https://api.twitter.com/1.1/account_activity/all/env-beta/'
'webhooks.json?url={}'.format(webhook_endpoint)
r = twitter.post(url)
403响应内容:{"errors":[{"code":200,"message":"Forbidden."}]}
我可以使用相同的会话对象成功发布状态,并且
r = twitter.post('https://api.twitter.com/1.1/statuses/update.json?status=Test')
我在这里做错了什么?
解决方案
事实证明,这是由于以下因素的组合:
- 此处未创建环境:https ://developer.twitter.com/en/account/environments如此处所述:https ://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-活动/指南/网络钩子入门
- 在创建在 /webhook 端点返回的令牌的函数中使用了错误的使用者密码
推荐阅读
- python - 熊猫数据框保留满足某些条件的行,否则保留任何可用的
- vue.js - 如何翻译 Quasar 组件?
- excel - 使用vba删除列表框中的选定项目
- web-scraping - 如何更新 python 抓取的有效负载信息
- javascript - 无法使用 web3.eth.accounts.wallet.encrypt
- python - 使用多线程或多处理同时从串口读取数据
- flutter - 如何在颤动中制作刷新页面按钮?
- java - 如何检查设备是否启用谷歌移动服务?
- node.js - Nginx 配置用于将 Wordpress 设置为主页但 /listing 来自节点的页面
- pdf - 转换 - GLTF/STL/OBJ 文件格式为 PDF 页面的 U3D 文件