我试图使用 Twitter API 从 POSTMAN 检索数据,但遇到错误。
我在 Twitter 中创建了一个项目,然后创建了一个与 Twitter 项目关联的应用程序。检索到密钥、秘密和承载令牌。我使用不记名令牌点击以下端点并收到错误
端点:https://api.twitter.com/2/tweets? ids=1261326399320715264,1278347468690915330
错误:验证对 Twitter API v2 端点的请求时,您必须使用附加到项目的 Twitter 开发人员应用程序中的密钥和令牌。您可以通过开发者门户创建项目。
然后我使用带有 Consumer Key、Consumer Secret、Access Token 和 Access Secret 的 OAuth 1.0 热相同的端点,并收到以下错误
{
"title": "Unauthorized",
"type": "about:blank",
"status": 401,
"detail": "Unauthorized"
}
Run Code Online (Sandbox Code Playgroud)
我不明白我在那里缺少什么。有人可以帮忙解决这个问题吗?
由 Espoir Murhabazi 编辑:我尝试使用 Beared 令牌进行身份验证,如本示例所示,但徒劳无功
我尝试使用 tweepy 使用的身份验证方案,但也是徒劳的。我看起来我们缺少一些东西。
这是我尝试过的完整示例:
import requests
import os
import sys
from tweepy import OAuthHandler
from dotenv import load_dotenv
load_dotenv()
def get_twitter_auth():
"""Setup Twitter authentication.
Return: tweepy.OAuthHandler object
"""
try:
consumer_key = os.getenv('TWITTER_CONSUMER_KEY')
consumer_secret = os.getenv('TWITTER_CONSUMER_SECRET')
access_token = os.getenv('TWITTER_ACCESS_TOKEN')
access_secret = os.getenv('TWITTER_ACCESS_SECRET')
assert all([consumer_key, access_secret, access_token, consumer_secret])
except KeyError:
sys.stderr.write("TWITTER_* not found\n")
sys.exit(1)
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
return auth.apply_auth()
protected_url = "https://ads-api.twitter.com/9/insights/keywords/search?granularity=HOUR&keywords=developers&start_time=2021-07-02T10:00:00Z"
oauth = get_twitter_auth()
response = requests.get(url=protected_url, auth=oauth)
print(response.content, 10 * "**=|")
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
3095 次 |
| 最近记录: |