我们正在创建一个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权限吗?
答案 0 :(得分:2)
您目前无法访问Google+圈子数据或通过AppEngine或其他方式对其进行修改,因为这会涉及访问大量私人用户数据。
如果您目前使用Google+ Domains API,那么您可以使用的最接近的是Google Apps,但这仅限于管理和发布到特定域内(它是专为内部业务设计的)网络而不是一般消费者使用)
(2015年1月27日编辑):在发布此消息后,我看到了类似的问题here,并提供了更深入的答案,尽管这是2年旧的政策没有改变。