Python 带openshift的flask dropbox快速入门示例

Python 带openshift的flask dropbox快速入门示例,python,flask,openshift,dropbox-api,Python,Flask,Openshift,Dropbox Api,我无法在openshift平台上成功执行来自的示例 from flask import Flask, redirect, url_for from flask_dance.contrib.dropbox import make_dropbox_blueprint, dropbox app = Flask(__name__) app.secret_key = "supersekrit" blueprint = make_dropbox_blueprint( app_key="my-key

我无法在openshift平台上成功执行来自的示例

from flask import Flask, redirect, url_for
from flask_dance.contrib.dropbox import make_dropbox_blueprint, dropbox

app = Flask(__name__)
app.secret_key = "supersekrit"
blueprint = make_dropbox_blueprint(
    app_key="my-key-here",
    app_secret="my-secret-here",
)
app.register_blueprint(blueprint, url_prefix="/login")

@app.route("/")
def index():
    if not dropbox.authorized:
        return redirect(url_for("dropbox.login"))
    resp = dropbox.get("account/info")
    assert resp.ok
    return "You are {email} on Dropbox".format(email=resp.json()["email"])

if __name__ == "__main__":
    app.run()
我得到了一个传输错误(openshift尝试使用HTTPURI而不是HTTPS),或者如果我尝试设置

os.environ['OAUTHLIB\u unsecure\u TRANSPORT']=“1”

(我知道这不推荐用于安全)然后我得到

InvalidClientError:(无效的_请求)无法使用“授权” 标题和“客户端密码”参数一起

本地和openshift平台上


在上面的示例中,您对如何调整有何建议?

您是否熟悉如何在openshift上部署basic flask应用程序。这里是官方openshift文档的链接。一旦您启动并运行了openshift flask base应用程序,您就可以通过virtualenv添加额外的dropbox模块来增强它。从openshift示例成功部署应用程序并运行后,通过在setup.py中添加依赖项,使用附加的Flask舞蹈对其进行扩展:

from setuptools import setup

setup(name='FlaskApp',
  version='1.0',
  description='A basic Flask app with static files',
  author='Ryan Jarvinen',
  author_email='ryanj@redhat.com',
  url='http://www.python.org/sigs/distutils-sig/',
 install_requires=['Flask>=0.10.1','Flask-Dance'],
 )
然后在flaskapp.py中使用它,就像在dropbox指南的示例中一样

我得到一个传输错误(openshift尝试使用HTTP uri) 而不是HTTPS)

尝试访问
https://yourApp-namespace.rhcloud.com
(非http)并确保已将Dropbox应用程序配置为重定向URI之一


如果那样不行,你可以看看。但是,教程代码适用于OpenShift上提供的代码。除了上面链接和发布的代码之外,在
flaskapp.py
(即
app.config.from_pyfile('flaskapp.cfg')
)中只能引用应用程序配置。

我可以通过手动授权访问(per)将flask部署到openshift,甚至可以调用dropbox API。但是我在执行oauth“舞蹈”时遇到了问题,就像在flask dropbox示例中一样。您能够运行我发布的代码而不出错吗?ProxyFix参考非常有用,因为openshift确实在TLS路由器后面运行纯HTTP。。有了app.wsgi_app=ProxyFix(app.wsgi_app),我就可以根据他们的喜好使用dropbox誓言代码。