如何通过Google API获取日历资源列表

时间:2015-12-18 22:18:35

标签: google-api google-api-java-client google-admin-sdk

我尝试使用Google API从我公司的Google Apps中使用日历资源的获取列表(https://support.google.com/a/answer/60766?hl=en)。我尝试使用OAuth 2.0 Playground页面(https://developers.google.com/oauthplayground)来使用它。我做了什么:
1.我选择范围&使用我公司的管理员帐户授权API并使用此范围https://apps-apis.google.com/a/feeds/calendar/resource/
2.我更换令牌的授权码
3.我提出了一个请求的网址:https://apps-apis.google.com/a/feeds/calendar/resource/2.0/my-company-domain-url/
4.我发送请求,我收到错误:

HTTP/1.1 403 Forbidden
Alternate-protocol: 443:quic,p=1
Content-length: 207
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
Transfer-encoding: chunked
Expires: Fri, 18 Dec 2015 22:09:43 GMT
Server: GSE
-content-encoding: gzip
Cache-control: private, max-age=0
Date: Fri, 18 Dec 2015 22:09:43 GMT
X-frame-options: SAMEORIGIN
Alt-svc: quic=":443"; ma=604800; v="30,29,28,27,26,25"
Content-type: text/html; charset=UTF-8
<HTML>
<HEAD>
<TITLE>You are not authorized to access this API.</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>You are not authorized to access this API.</H1>
<H2>Error 403</H2>
</BODY>
</HTML>

我已在开发者控制台中启用此API。

问题:我还需要做些什么来使其工作,即能够获取日历资源列表?

2 个答案:

答案 0 :(得分:1)

我只是缺少管理API访问的启用标志,如下所述:

https://support.google.com/a/answer/60757?hl=en

第二件事,更明显的是只有域管理员才能访问此API。

此外,我刚刚发现在Admin-SDK Java客户端库#header ul { margin: 0; padding: 0; } #header ul li { display: inline-block //or you can float them, } #header ul li:nth-child(even){ margin: 0 10px; } 的版本1.21中,Google添加了对日历资源的支持!所以你现在需要做的就是:

com.google.apis:google-api-services-admin-directory

范围是新的:Directory.resources().calendars().list("my_customer").execute();因此需要在Google Apps管理控制台中对其进行授权。

答案 1 :(得分:0)

您可以尝试使用此链接https://developers.google.com/google-apps/calendar/v3/reference/acl/list

这应该为您提供资源列表。

以下是概述信息https://developers.google.com/google-apps/calendar/v3/reference/acl

的链接

我希望它有所帮助。