栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Java访问Google Calendar REST API v3

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Java访问Google Calendar REST API v3

如果您只需要访问一组特定的日历,我将创建一个服务帐户并与该帐户共享必要的日历。

为此:

  1. 在此Cloud Console中创建一个“服务帐户”(可在“ Web应用程序” /“证书”下找到)。
  2. 下载私钥并将其存储在安全的地方。
  3. 记下与服务帐户关联的电子邮件地址。
  4. 与该电子邮件地址共享(通过日历用户界面)任何必要的日历。
  5. 安装Google API Java客户端库(https://developers.google.com/api-client-library/java/apis/)。

然后,您应该可以使用以下代码:

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;import com.google.api.client.json.gson.GsonFactory;import java.io.File;import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;import java.util.Arrays;import com.google.api.services.calendar.Calendar;GoogleCredential credentials = new GoogleCredential.Builder().setTransport(GoogleNetHttpTransport.newTrustedTransport())  .setJsonFactory(new GsonFactory())  .setServiceAccountId("<service account email address>@developer.gserviceaccount.com")  .setServiceAccountScopes(Arrays.asList("https://www.googleapis.com/auth/calendar.readonly"))  .setServiceAccountPrivateKeyFromP12File(new File("<private key for service account in P12 format>-privatekey.p12")).build();Calendar client = new Calendar.Builder(GoogleNetHttpTransport.newTrustedTransport(), new GsonFactory(), credentials).build();client.<do calendar stuff>.execute();

相反,如果您是域管理员,需要未经您的个人用户同意访问属于您域的所有Google Apps帐户的日历,则可以使用上述步骤4:

  1. 记下与服务帐户关联的客户端ID。可以在client_secrets.json文件中找到-通常为1234.apps.googleusercontent.com形式。
  2. 授权此客户端代表您组织中的用户发出请求。有关步骤,请参见https://support.google.com/a/answer/162106?hl=zh_CN-使用以后要请求的范围。

您现在应该可以编写如下代码:

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;import com.google.api.client.json.gson.GsonFactory;import java.io.File;import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;import java.util.Arrays;import com.google.api.services.calendar.Calendar;GoogleCredential credentials = new GoogleCredential.Builder().setTransport(GoogleNetHttpTransport.newTrustedTransport())  .setJsonFactory(new GsonFactory())  .setServiceAccountId("<service account email address>@developer.gserviceaccount.com")  .setServiceAccountScopes(Arrays.asList("https://www.googleapis.com/auth/calendar"))  .setServiceAccountPrivateKeyFromP12File(new File("<private key for service account in P12 format>-privatekey.p12"))  .setServiceAccountUser("<domain user whose data you need>@yourdomain.com").build();Calendar client = new Calendar.Builder(GoogleNetHttpTransport.newTrustedTransport(), new GsonFactory(), credentials).build();client.<do calendar stuff as that user>()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号