【问题标题】:Dropbox auth is not working on PythonDropbox 身份验证不适用于 Python
【发布时间】:2013-04-10 06:20:42
【问题描述】:

我正在尝试使用 Python ( Flask ) 和 DropBox API 构建应用程序。我正在尝试授权用户,所以我跟进了 python 的教程。

from flask import Flask, render_template, url_for
from dropbox import client, rest, session

# Dropbox Settings
APP_KEY     = 'gb83a6gpdo4kba6'
APP_SECRET  = 'w5q0yhj9ikiw39g'
ACCESS_TYPE = 'app_folder'

# Flask Config
DEBUG = True

app = Flask(__name__)
app.config.from_object(__name__)

@app.route("/")
def home():

    dropboxAccount = dropboxAccessToken = dropboxClient = None

    # Dropbox Auth
    dropboxSession = session.DropboxSession(app.config['APP_KEY'], app.config['APP_SECRET'], app.config['ACCESS_TYPE'])
    requestToken   = dropboxSession.obtain_request_token()

    try:
        dropboxAccessToken = dropboxSession.obtain_access_token(requestToken)

        dropboxClient      = dropboxClient.DropboxClient(dropboxSession)
        dropboxAccount     = dropboxClient.account_info()
    except Exception, e:
        print e
        dropboxAuthUrl = dropboxSession.build_authorize_url(requestToken, oauth_callback = "http://localhost:5000/")

    context = {
        'dropboxAuthUrl' : dropboxAuthUrl,
        'dropboxAccount' : dropboxAccount
    }

    return render_template('layout.html', context = context)

if __name__ == "__main__":
    app.run()

但是,授权不起作用。从我的本地主机尝试,用户单击此行生成的链接:

dropboxSession.build_authorize_url(requestToken, oauth_callback = "http://localhost:5000/")

然后,进入 DropBox 授权页面,显示应用信息和允许或拒绝选项。当我点击“允许”按钮时,它会将我重定向回来,当我检查我的帐户应用程序时,新应用程序未在此处列出。回调 url 如下所示:

http://localhost:5000/dropbox/?uid={some_uid}&oauth_token={some_token}

有人知道这是怎么回事吗?

提前致谢!

【问题讨论】:

    标签: python oauth flask dropbox


    【解决方案1】:

    刚刚解决。我没有注意到我在每次请求时都会重置 request_token。

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 2018-04-19
      • 2016-10-22
      • 2017-10-10
      • 2010-11-05
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多