python 无法通过Twitter授权

ct3nt3jp  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(118)

我绝对是全新的编码(约11天),我被告知张贴我的问题在这里,因为我不能解决我的问题,尽管无数的尝试。
我正在使用Python和Jupyter笔记本(这是我必须使用的)
我有一个名为config.txt的配置文件,我所有的密钥和令牌都在其中,我可以调用我所有的密钥,除了bearer_token,我不知道什么时候使用它,因为我已经看到了数百个不同的答案。
我有一个Twitter学术研究帐户。我的目标是拉各种标签,为了做到这一点,我必须能够通过我的代码验证我的帐户(这是我的理解)。我已经尝试了各种设置根据不同的建议在这里stackoverflow和我不能认证。我也得到以下错误信息。未经授权:401未授权32 -无法认证你。当我去Twitter学习和理解它说:
401
未授权
验证您的请求时出现问题。这可能是由于缺少验证凭据或验证凭据不正确。在其他未定义的情况下也可能返回此错误。
检查您使用的身份验证方法和凭据是否正确。提供的链接不再有效,我不知道我在做什么来检查我的身份验证方法和凭据是否正确(我只有一组凭据,所以我认为这是我的身份验证方法......也许??)
我的代码更低。
This is my error message at the end of my last code block named authentication
我已经尝试了不同人的多种解决方案,包括在[https://stackoverflow.com/questions/66156958/how-to-acess-tweets-with-bearer-token-using-tweepy-in-python/66597109#66597109]中提到的所有建议。

import tweepy 
import configparser
import os

#Define file path and make sure path is correct
file_name = "config.txt"

#Config file stored in the same directory as the script.
#Get correct working directory with os.getcwd()
file_path = os.path.join(os.getcwd(), file_name)

print(file_path) # Confirm file path is correct.

路径是正确的,上面的代码部分一切正常。

#Read info from the config file named config.txt
config = configparser.ConfigParser()
config.read(file_path)

#Will raise KeyError if the file path is not correct
api_key = config["twitter"]["API_key"]
api_secret = config["twitter"]["API_secret"]
access_token = config["twitter"]["Access_token"]
access_token_secret = config["twitter"]["Access_token_secret"]
#bearer_token = config["twitter"]["Bearer_token"]
#client_id = config["twitter"]["Client_ID"]
#client_secret = config["twitter"]["Client_Secret"]
#print(api_key, api_secret, access_token, access_token_secret)
#print (bearer_token)

除了我的bearer_key之外,所有东西都能正常返回--它的设置方式与我的配置文件中的所有其他密钥和令牌完全相同

#authentication - this is where my issue is. My authentication is not working.

from tweepy.auth import OAuthHandler
auth = OAuthHandler("API_key", "API_secret")
auth.set_access_token = (access_token, access_token_secret)

api = tweepy.API(auth)

public_tweets = api.home_timeline()

print(public_tweets)

The following is just other example I have tried using of many to troubleshoot my issue
#auth = tweepy.OAuth2AppHandler("bearer_token", "API_key_secret")
#api = tweepy.API(auth)
#for tweet in tweepy.Cursor(api.search, q='cool').items(3):
#print(tweet.text)

No matter what, I get the error provided in the screenshot image above

What I really want to do is pull historical hashtags but this is not possible without authentication, I believe. It was recommended I try pulling my own timeline to start before I began writing queries for different pieces of data or information. I am sure there is something simplistic but being 11 days old in the world of coding I am quite lost. Thank you to everyone helping me to understand and troubleshoot. I really appreciate it.

68bkxrlz

68bkxrlz1#

您没有传递api_key和api_secret。
这一点:
auth = OAuthHandler("API_key", "API_secret")
应该是:
auth = OAuthHandler(api_key, api_secret)

相关问题