我们正在创建一个 appengine 项目,用于检查用户是否使用 Google+。为此,我想查看用户已将多少人添加到他/她的圈子中。 然而,circles().list命令似乎不起作用。
我执行以下代码:
final List<String> scope = Arrays.asList("https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.circles.read","https://www.googleapis.com/auth/plus.circles.write","https://www.googleapis.com/auth/plus.media.upload","https://www.googleapis.com/auth/plus.stream.read","https://www.googleapis.com/auth/plus.stream.write");
GoogleCredential credential2 = new GoogleCredential.Builder().setTransport(httpTransport).setServiceAccountScopes(scope).setJsonFactory(jsonFactory).setServiceAccountId(SERVICE_ACCOUNT_EMAIL).setServiceAccountUser(EMAIL_ADMIN).setServiceAccountPrivateKeyFromP12File(new File(PATH_TO_P12_FILE)).build();
PlusDomains plusDomains = new PlusDomains.Builder(httpTransport, jsonFactory, null).setHttpRequestInitializer(credential2).setApplicationName("APPNAME").setRootUrl("https://www.googleapis.com/").build();
Person person = plusDomains.people().get(user.getId()).execute();
if(person.getCircledByCount() > 0) {
PlusDomains.Circles.List listCircles = plusDomains.circles().list(user.getId());
listCircles.setMaxResults(5L);
CircleFeed circlefeed = listCircles.execute();
}
但是,在最后一次执行()时,应用程序返回 403 错误代码(禁止)。
我做错了什么?我是否缺少一些 API 权限?
最佳答案
您目前无法访问 Google+ 圈子数据或通过 AppEngine 或其他方式修改它,因为这会涉及访问大量私有(private)用户数据。
您可以使用的最接近的是 Google+ Domains API如果您当前使用Google Apps ,但是仅限于在特定域内管理和发布(它是为内部业务网络而不是一般消费者使用而设计的)
(编辑 27/01/2015):发布此内容后,我看到有一个类似的问题 here有更深入的答案,虽然已经过去 2 年了,但政策没有改变。
关于java - Circles().list 命令给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28146571/