我正在尝试编写一个程序来从Google+中检索我的所有活动。我研究了Google提供的示例代码并编写了我的程序:
// Fetch the available activities
Plus.Activities.List listActivities = plus.activities().list("me", "public");
listActivities.setMaxResults(20L);
ActivityFeed feed;
try {
feed = listActivities.execute();
} catch (HttpResponseException e) {
log.severe(Util.extractError(e));
throw e;
}
// Keep track of the page number in case we're listing activities
// for a user with thousands of activities. We'll limit ourselves
// to 5 pages
int currentPageNumber = 0;
String token = "";
while (token != null && feed != null && feed.getItems() != null && currentPageNumber < 5) {
currentPageNumber++;
System.out.println();
System.out.println("~~~~~~~~~~~~~~~~~~ page "+currentPageNumber+" of activities ~~~~~~~~~~~~~~~~~~");
System.out.println();
for (Activity activity : feed.getItems()) {
show(activity);
System.out.println();
System.out.println("------------------------------------------------------");
System.out.println();
}
// Fetch the next page
token = feed.getNextPageToken();
System.out.println("next token: " + token);
listActivities.setPageToken(token);
feed = listActivities.execute();
}
问题是这只允许我检索我的“公共”活动。我也有一些私人活动,这个计划没有得到它们。问题与
有关plus.activities().list("me", "public");
此列表函数需要输入参数,列出的活动集合。在这里,它是“公开的”。我想要检索所有活动而不仅仅是公共活动。但基于
https://developers.google.com/+/api/latest/activities/list
要列出的此活动集合的唯一可用输入是“public”。所以我的问题是:
非常感谢!
答案 0 :(得分:2)
官方Google+ API仅提供对公共数据的只读访问权限。所以,你只能使用“公共”作为活动的集合。
答案 1 :(得分:1)
通过授权,您只获得这两个范围。
- 了解您在Google上的身份 https://www.googleapis.com/auth/plus.me
- 查看您的电子邮件地址 https://www.googleapis.com/auth/userinfo.email
如您所见,它不会打开对非公开活动的访问权。
API页面说明了
'collection'的可接受值是: “public” - 指定用户创建的所有公共活动。
参考: Google+ API页面。无法在这里链接到它。