我认为混淆在于变量的不同术语以及这些变量的使用。
术语
首先,下面解释术语澄清,不同术语指的是同一事物:
客户端凭据:
1. App Key === API Key === Consumer API Key === Consumer Key === Customer Key === oauth_consumer_key
2. App Key Secret === API Secret Key === Consumer Secret === Consumer Key === Customer Key === oauth_consumer_secret
3. Callback URL === oauth_callback
临时凭证:
1. Request Token === oauth_token
2. Request Token Secret === oauth_token_secret
3. oauth_verifier
令牌凭证:
1. Access token === Token === resulting oauth_token
2. Access token secret === Token Secret === resulting oauth_token_secret
接下来,使用这些内容。请注意,持有者令牌在您的开发者应用程序代表请求进行身份验证。由于此方法特定于应用程序,因此不涉及任何用户。
因此,您可以按以下方式选择在用户级别或应用程序级别进行请求:
用法
用户级别(OAuth 1.0a):
api_key = "hgrthgy2374RTYFTY"
api_secret_key = "hGDR2Gyr6534tjkht"
access_token = "HYTHTYH65TYhtfhfgkt34"
access_token_secret = "ged5654tHFG"
auth = tweepy.OAuthHandler(api_key, api_secret_key)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
应用程序级别(OAuth 2.0):
bearer_token = "ABDsdfj56nhiugd5tkggred"
auth = tweepy.Client(bearer_token)
api = tweepy.API(auth)
或者,另一种选择是:
auth = tweepy.AppAuthHandler(consumer_key, consumer_secret)
api = tweepy.API(auth)
[1] https://developer.twitter.com/en/docs/authentication/oauth-1-0a/obtaining-user-access-tokens
[2] https://docs.tweepy.org/en/latest/authentication.html#twitter-api-v2