我正在使用 appengine(python)并尝试为某些用户管理共享的 google 驱动器目录。即使我以其他用户身份登录,我的程序是否可以始终访问驱动器而无需访问授权页面。假设我登录 123,但我想一直访问 abc 的谷歌驱动器。
问问题
548 次
2 回答
1
您可以通过 Google Apps 用户的域范围委派来执行此操作:https ://developers.google.com/drive/delegation ,但域管理员必须添加您的应用程序才能获得授权。
如果您想为市场创建一个无需手动设置的应用程序,您可以按照此处的说明进行操作:https ://developers.google.com/google-apps/marketplace/tutorial_python_gae#Integrate-OAuth
如果用户没有登录到您的应用程序,即使您以前被授予访问权限,我认为您也无法访问任何 Google 的 API,至少从我对可用身份验证方法的理解来看。
于 2013-02-18T16:06:13.830 回答
1
当用户将应用引擎项目服务帐户添加为共享时,您始终可以访问它,而无需 OAuth2 舞蹈。
您的应用引擎项目服务帐户如下所示:example@appspot.gserviceaccount.com 您可以在此处找到信息:https ://developers.google.com/drive/service-accounts#google_app_engine_project_service_accounts
def _init_service_account(self):
if os.environ['SERVER_SOFTWARE'].startswith('Development') :
logging.warning('Service account not used in development')
return None
else :
SCOPE = 'https://www.googleapis.com/auth/drive'
API_KEY = '.....' # GAE
credentials = AppAssertionCredentials(scope=SCOPE)
logging.info('service account : ' + app_identity.get_service_account_name())
http = credentials.authorize(httplib2.Http())
return build('drive', 'v2', http=http, developerKey=API_KEY)
于 2013-02-18T21:26:00.860 回答