【问题标题】:tweepy verifier runtime errortweepy 验证程序运行时错误
【发布时间】:2014-04-04 21:38:33
【问题描述】:

我正在尝试使用名为 tweepy(使用 Python)的 twitter API 包装器运行一个简单的应用程序,但我无法通过验证器步骤。

我的代码真的很简单。

from flask import Flask
from flask import request
import flask 
import tweepy

session=dict()
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

try:
    redirect_url = auth.get_authorization_url()
    session['request_token']=(auth.request_token.key, auth.request_token.secret)
except tweepy.TweepError:
    print 'Error! Failed to get request token.'

verifier = request.GET.get('oauth_verifier')

这确实是 tweepy 文档提供的代码,但由于某种原因,它一直返回运行时错误。

Runtime Error: working outside of request context

有人吗?

【问题讨论】:

    标签: python api twitter tweepy


    【解决方案1】:

    执行脚本显示错误发生在verifier = request.GET.get('oauth_verifier'),并且谷歌搜索错误消息显示此错误与 Flask 有关。

    所以我猜 Flask 只是不喜欢在 Flask 调用的函数之外使用request.GET.get(这可能是他们所谓的“请求上下文”)。 基本上,您应该只在显示数据有意义的地方执行最后一行(只有当有 Web 浏览器等待响应时,Web 服务器才能显示数据……)

    【讨论】:

    • 我想我不太了解验证器的工作原理。在 tweepy 的文档中,它说“如果这是一个桌面应用程序(或任何不使用回调的应用程序),我们必须向用户查询 Twitter 将在授权我们后提供给他们的“验证码”。[...] # 示例使用callback (web app) verifier = request.GET.get('oauth_verifier')"为了明确我的目的,我的应用程序除了从 twitter 检索数据之外没有任何其他意图,那么我应该如何使用验证器呢?上面的行并不比之前提供的更好。
    • 如果你用的是Flask,说明你写的不是桌面应用,而是网页应用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    相关资源
    最近更新 更多