【问题标题】:How do I verify a tweepy API using 3 legged auth?如何使用 3 条腿验证验证 tweepy API?
【发布时间】:2023-02-01 03:01:17
【问题描述】:

我一直在按照 tweepy 文档中的说明进行操作: https://docs.tweepy.org/en/stable/authentication.html

当我传入 oauth_verifier 以获取用户的访问令牌时,它会抛出:

tweepy.errors.TweepyException: 'oauth_token'

@views.route("/")
def home():
    with open("oauth1_user_handler", "rb") as userHandler:
        oauth1_user_handler=pickle.load(userHandler)
    oauth_verifier = request.args.get("oauth_verifier")
    user_access_token, user_access_token_secret = oauth1_user_handler.get_access_token(
        oauth_verifier
    )
    return "<p>user_access_token, user_access_token_secret</p>."

我已经尝试了多种传递 oauth_verifier、oauth_token 和这两者的组合的变体,就像它们在 url 参数中一样,但这也没有用。

任何帮助将不胜感激。

【问题讨论】:

    标签: python twitter oauth tweepy twitter-oauth


    【解决方案1】:

    由于您正在重新初始化 OAuth1UserHandler 而不是使用相同的实例,因此您需要在使用验证器获取访问令牌和机密之前设置请求令牌和机密。

    您链接的文档中有一个关于此的部分:https://tweepy.readthedocs.io/en/v4.10.1/authentication.html#legged-oauth

    【讨论】:

    • 我确实尝试过,但是下面一行让我确信我遗漏了一些东西:request_token = oauth1_user_handler.request_token["oauth_token"] Returns KeyError: 'oauth_token' 无论我如何尝试实现这一行。
    • 显示相关代码,您首先在其中对其进行初始化。
    • oauth1_user_handler = tweepy.OAuth1UserHandler( config["twitter"]["api_key"], config["twitter"]["api_key_secret"], callback="http://127.0.0.1:5000/login" ) request_token = oauth1_user_handler.request_token["oauth_token"] request_secret = oauth1_user_handler.request_token["oauth_token_secret"] if request.args.get("oauth_verifier") == None: return f"&lt;a href={oauth1_user_handler.get_authorization_url(signin_with_twitter=True)}&gt;Log in with twitter &lt;/a&gt;" 看起来很简单的代码
    • 您需要先获取授权 URL,因为在发出任何请求之前,处理程序无法获得令牌和密码。将来,对于多行代码,请编辑您的帖子,而不是将其包含在评论中。
    【解决方案2】:

    我正在处理一个类似的问题——我认为 tweepy 文档在这个问题上相当混乱。看看下面表示的(等效的)逻辑:

    https://improveandrepeat.com/2022/03/python-friday-112-how-to-use-tweepy-in-flask/

    https://github.com/tweepy/tweepy/discussions/1760#discussioncomment-1931183

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 2014-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多