我正在尝试创建一个与Google的API对话的Flask应用。但是,我一直收到这个错误:
Traceback (most recent call last):
File "hello.py", line 16, in <module>
@app.route('google_api')
File "/Library/Python/2.7/site-packages/flask/app.py", line 1013, in decorator
self.add_url_rule(rule, endpoint, f, **options)
File "/Library/Python/2.7/site-packages/flask/app.py", line 62, in wrapper_func
return f(self, *args, **kwargs)
File "/Library/Python/2.7/site-packages/flask/app.py", line 976, in add_url_rule
rule = self.url_rule_class(rule, methods=methods, **options)
File "/Library/Python/2.7/site-packages/werkzeug/routing.py", line 599, in __init__
raise ValueError('urls must start with a leading slash')
ValueError: urls must start with a leading slash
我浏览了Flask教程和#34;使用OAuth 2.0 for Web Services&#34;在谷歌的网站上。我不太确定我做错了什么,而且我不太清楚错误告诉我的是什么。看起来它与Flask有关?这是我的代码:
from flask import Flask
from oauth2client import client
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello world!"
@app.route('google_api')
def google_api():
flow = client.flow_from_clientsecrets(
'client_secrets.json',
scope='https://www.googleapis.com/auth/prediction',
redirect_uri='http://127.0.0.1:5000/redirect')
@app.route('/redirect')
def redir():
return "Authenticated"
if __name__ == '__main__':
app.debug = True
app.run(threaded=True)
我做错了什么?我该如何解决?
答案 0 :(得分:3)
我认为你错过了google api路线的主要斜线。
@app.route('google_api')
您是否尝试过更新
@app.route('/google_api')
希望有所帮助
答案 1 :(得分:0)
以下是您获得的错误的导入部分。
File "hello.py", line 16, in <module>
@app.route('google_api')
...
ValueError: urls must start with a leading slash
尝试:
@app.route('/google_api')
请注意google_api
之前的正斜杠