使用以下代码我在点击google驱动器的授权按钮后收到404资源未找到错误。我的代码在下面 - 任何想法我做错了什么?
from __future__ import print_function
import httplib2
import os
from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage
from apiclient.discovery import build
from google.appengine.ext import webapp
from oauth2client.appengine import OAuth2DecoratorFromClientSecrets
import webapp2
try:
import argparse
flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
flags = None
except SystemExit:
flags= None
#
## If modifying these scopes, delete your previously saved credentials
## at ~/.credentials/drive-python-quickstart.json
SCOPES = 'https://www.googleapis.com/auth/drive'
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'Drive API Quickstart'
decorator = OAuth2DecoratorFromClientSecrets( CLIENT_SECRET_FILE,SCOPES)
service = build('drive', 'v3')
class MainHandler(webapp.RequestHandler):
@decorator.oauth_required
def get(self):
# Get the authorized Http object created by the decorator.
http = decorator.http()
# Call the service using the authorized Http object.
request = service.files().list(q = "mimeType != 'application/vnd.google-apps.folder'", pageSize=1000, )
response = request.execute(http=http)
app = webapp.WSGIApplication([
('/', MainHandler),
], debug=True)

我有https://drive-156701.appspot.com/oauth2callback有和没有/最后作为重定向,我认为正确的重定向网址? 谢谢!
答案 0 :(得分:0)
您没有/oauth2callback
的网址处理程序。您只有/
的网址处理程序。尝试:
app = webapp.WSGIApplication([
('/oauth2callback', Oauth2CallbackHandler),
('/', MainHandler),
], debug=True)
并创建一个Oauth2CallbackHandler
类来处理回调。
答案 1 :(得分:0)
除了包括:
app = webapp2.WSGIApplication( [ ('/',MainHandler), (decorator.callback_path,decorator.callback_handler()), ] 调试= TRUE)
@ decorator.oauth_required会为你处理回调。
观看此视频:https://www.youtube.com/watch?v=HoUdWBzUZ-M 您需要为localhost开发和部署创建凭据。
确保您已签出:https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27 您的api导入必须像第三方导入一样处理,详情请点击此处: https://developers.google.com/api-client-library/python/start/installation