.build();
Plus.Activities.List listActivities = plus.activities().list("me", "public").setFields(Constants.TARGET_ACTIVITY_FIELDS);
// 最初のページのリクエストを実行します
ActivityFeed activityFeed = listActivities.execute();
// リクエストのラップを解除し、必要な部分を抽出します
List<Activity> activities = activityFeed.getItems();
// Twitter対象リスト
List<String> twitterActivityIdList = new ArrayList<String>();
// Facebook対象リスト
List<String> facebookActivityIdList = new ArrayList<String>();
// Evernote対象リスト
List<String> evernoteActivityIdList = new ArrayList<String>();
int count = 1;
while (activities != null && count <= limit) {
for (Activity activity : activities) {
ActivityModel oldModel = ActivityService.getActivity(activity.getId());
try {
if(oldModel == null) {
ActivityModel newActivityModel = ActivityService.putActivity(activity, userModel);
// アルバム内の画像を保存
List<Attachments> attachmentsList = activity.getObject().getAttachments();
if(attachmentsList != null
&& attachmentsList.size() > 0) {
Attachments attachment = attachmentsList.get(0);
if(attachment.getThumbnails() != null && attachment.getThumbnails().size() > 0) {
for(Thumbnails thumbnails: attachment.getThumbnails()) {
if(thumbnails != null && thumbnails.getImage() != null) {
AlbumService.put(newActivityModel, thumbnails.getUrl(), thumbnails.getImage().getUrl(), thumbnails.getImage().getHeight(), thumbnails.getImage().getWidth());
}
}
}
}
// 他のSNSへの転送
if(!Utils.isNoShare(newActivityModel)) {
// twitterへPOST対象リストを作成
if(Utils.isTwitterRepost(userModel, newActivityModel)) {
twitterActivityIdList.add(activity.getId());
}
// facebookへPOST対象リストを作成
if(Utils.isFacebookRepost(userModel, newActivityModel)) {
facebookActivityIdList.add(activity.getId());
}
// EvernoteへPOST対象リストを作成
if(Utils.isEvernoteRepost(userModel, newActivityModel)) {
evernoteActivityIdList.add(activity.getId());
}
}
}
}catch (DataInvalidException e) {};
}
// 次のページのトークンが null になると、最終ページに到達したことがわかります。
// その場合は break。
if (activityFeed.getNextPageToken() == null) {
break;
}
// 次のページのアクティビティをリクエストする準備をします
listActivities.setPageToken(activityFeed.getNextPageToken());
// 次のページのリクエストを実行して処理します
activityFeed = listActivities.execute();
activities = activityFeed.getItems();
// API呼び出しカウントを加算
count++;
}