我已经彻底阅读了这篇文章:https ://developers.google.com/google-apps/documents-list/#using_google_apps_administrative_access_to_impersonate_other_domain_users 我已经用谷歌搜索死了。
到目前为止,我已经能够:
授权:
- 客户登录
- OAuth 令牌(使用我的域密钥)
为域中的所有用户检索文档提要(在 #1 中以任一方式授权)
我正在使用提要中的“条目”来导出/下载文档,并且对于未与管理员共享的文档,其他用户总是被禁止。我正在使用的提要查询是这样的:(https://docs.google.com/feeds/userid@mydomain.com/private/full/?v=3
我尝试过使用和不使用 ?v=3)
我还尝试在 uri 和客户端属性中添加 xoauth_requestor_id(我在帖子中也看到了 xoauth_requestor):client.xoauth_requestor_id = ...
代码片段:
客户端登录(使用管理员凭据):
client.http_client.debug = cfg.get('HTTPDEBUG')
client.ClientLogin( cfg.get('ADMINUSER'), cfg.get('ADMINPASS'), 'HOSTED' )
认证:
client.http_client.debug = cfg.get('HTTPDEBUG')
client.SetOAuthInputParameters( gdata.auth.OAuthSignatureMethod.HMAC_SHA1, cfg.get('DOMAIN'), cfg.get('APPS.SECRET') )
oatip = gdata.auth.OAuthInputParams( gdata.auth.OAuthSignatureMethod.HMAC_SHA1, cfg.get('DOMAIN'), cfg.get('APPS.SECRET') )
oat = gdata.auth.OAuthToken( scopes = cfg.get('APPS.%s.SCOPES' % section), oauth_input_params = oatip )
oat.set_token_string( cfg.get('APPS.%s.TOKEN' % section) )
client.current_token = oat
检索到提要后:
# pathname eg whatever.doc
client.Export(entry, pathname)
# have also tried
client.Export(entry, pathname, extra_params = { 'v': 3 } )
# and tried
client.Export(entry, pathname, extra_params = { 'v': 3, 'xoauth_requestor_id': 'admin@mydomain.com' } )
关于我在这里缺少什么的任何建议或指示?谢谢