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

Java Google Contacts API访问服务帐户身份验证

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

Java Google Contacts API访问服务帐户身份验证

不调用

setServiceAccountUser()
我的代码就可以很好地工作。但是您只会拥有一个模拟帐户(service_account_mail),而不是您的个人联系人。

“ 401未经授权”异常的另一个可能来源是遥不可及

credential.refreshToken()
。调用是将访问代码写入引用所必需的。

在完成的课程下面:

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;import com.google.api.client.http.HttpTransport;import com.google.api.client.json.jackson2.JacksonFactory;import com.google.gdata.client.contacts.ContactsService;import java.io.File;import java.io.IOException;import java.security.GeneralSecurityException;import java.util.Collections;public class Connector {  private static ContactsService contactService = null;  private static HttpTransport httpTransport;  private static final String APPLICATION_NAME = "Your-App/1.0";  private static final String SERVICE_ACCOUNT_EMAIL = "xy@developer.gserviceaccount.com";  private Connector() {    // explicit private no-args constructor  }  public static ContactsService getInstance() {    if (contactService == null) {      try {        contactService = connect();      } catch (GeneralSecurityException | IOException e) {        e.printStackTrace();      }    }    return contactService;  }  private static ContactsService connect() throws GeneralSecurityException, IOException {    httpTransport = GoogleNetHttpTransport.newTrustedTransport();    // @formatter:off    GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport).setJsonFactory(JacksonFactory.getDefaultInstance()).setServiceAccountId(SERVICE_ACCOUNT_EMAIL).setServiceAccountScopes(Collections.singleton("https://www.google.com/m8/feeds")).setServiceAccountPrivateKeyFromP12File(new File("key.p12")).build();    // @formatter:on    if (!credential.refreshToken()) {      throw new RuntimeException("Failed OAuth to refresh the token");    }    ContactsService myService = new ContactsService(APPLICATION_NAME);    myService.setOAuth2Credentials(credential);    return myService;  }}


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

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

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