下载辅助域用户文档Google文档列表Api 2-Legged Oauth

时间:2012-07-20 02:24:17

标签: google-drive-api google-docs google-docs-api

第一篇文章很抱歉任何格式问题。

我正在尝试通过oauth下载辅助域用户的文档并收到com.google.gdata.util.AuthenticationException:未经授权的错误。我可以使用与此类似的Feed调用来提取用户文档:

String docUrl = "https://docs.google.com/feeds/" + DOC_OWNER + "/private/full/" + DOC_ID + "?xoauth_requestor_id="+ PRIMARY_ADMIN_EMAIL
DocumentListEntry googleDoc = docServ.getEntry(new URL(docUrl), DocumentListEntry.class);
String exportUrl = ((MediaContent) googleDoc.getContent()).getUri().toString();
exportString = ((MediaContent) googleDoc.getContent()).getUri().split("&xoauth_requestor_id=")[0];
exportString + EXPORT_TYPE // add export type

但是在尝试下载文档时如下:

MediaContent mc = new MediaContent();
mc.setUri(exportUrl);
String mcUrl = mc.getUri() + "&xoauth_requestor_id=" + DOC_OWNER;
MediaSource ms = docServ.getMedia(mc);

这会引发身份验证异常。我尝试更换主域管理员的请求者ID但没有成功。我还尝试使用主域管理员的用户信用,并抛出服务禁止异常。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,域的OAuth密钥/机密无权访问辅助域。您需要手动输入密钥(主域)和Docs API范围:

https://docs.google.com/feeds/,https://docs.googleusercontent.com/,https://spreadsheets.google.com/feeds/

在:

https://www.google.com/a/cpanel/YOUR-DOMAIN-HERE/ManageOauthClients

可以使用辅助域帐户。