Google+ API と Java-Client API は初めてです。ので、しばらくお待ちください。
Java-Client と G+ API 1.14 を使用して Google+ アクティビティを取得しようとしていますが、クライアント オブジェクトを作成できませんでした。
私のコードは次のとおりです。
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer;
import com.google.api.client.googleapis.services.GoogleClientRequestInitializer;
import com.google.api.client.googleapis.services.json.CommonGoogleJsonClientRequestInitializer;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.gson.GsonFactory;
import com.google.api.services.plus.Plus;
import com.google.api.services.plus.model.Activity;
import com.google.api.services.plus.model.ActivityFeed;
import com.google.api.services.plus.Plus.Builder;
public class GooglePlusService {
/**
* google plus service acess stub
*/
private Plus plusSvc;
/**
* google plus api key
*/
private String GooglePlusAPIKey = "MY key"; //<-- YOUR KEY GOES HERE
/**
* connect to the google plus service
*/
public GooglePlusService() {
setupTransport();
}
public List<Activity> getActivityList(String userid) throws IOException {
List<Activity> retval = new ArrayList<Activity>();
Plus.Activities.List listActivities =
plusSvc.activities().list(userid, "public");
listActivities.setMaxResults(100L);
// get the 1st page of activity objects
ActivityFeed activityFeed = listActivities.execute();
// unwrap the request and extract the pieces we want
List<Activity> pageOfActivities = activityFeed.getItems();
// loop through until we arrive at an empty page
while (pageOfActivities != null) {
for (Activity activity : pageOfActivities) {
retval.add(activity);
System.out.println("ID " + activity.getId() + " Content: " +
activity.getObject().getContent());
}
// we will know we are on the last page when the next page token
// is null (in which case, break).
if (activityFeed.getNextPageToken() == null) {
break;
}
// prepare to request the next page of activities
listActivities.setPageToken(activityFeed.getNextPageToken());
// execute and process the next page request
activityFeed = listActivities.execute();
pageOfActivities = activityFeed.getItems();
}
return retval;
}
/**
* google plus service stub object
*/
public Plus getPlusSvc() {
return plusSvc;
}
private void setupTransport() {
/*
plusSvc = new Plus(new NetHttpTransport(),
new GsonFactory());
plusSvc.setKey(GooglePlusAPIKey);
*/
HttpRequestInitializer initializer = (HttpRequestInitializer) new CommonGoogleClientRequestInitializer("GooglePlusAPIKey");
plusSvc = new Plus(new NetHttpTransport(), new GsonFactory(), initializer);
GoogleClientRequestInitializer KEY_INITIALIZER = new CommonGoogleJsonClientRequestInitializer(GooglePlusAPIKey);
}
}
私の問題は setupTransport() セクションにあります。クライアント オブジェクト cuz の作成に失敗しました。
Plus(HttpTransport トランスポート、JsonFactory jsonFactory、HttpRequestInitializer httpRequestInitializer)
試してみました: HttpRequestInitializer initializer = (HttpRequestInitializer)new CommonGoogleClientRequestInitializer("GooglePlusAPIKey");
しかし、 CommonGoogleClientRequestInitializer のキャストに失敗するというエラーが発生しました
私が試した: GoogleClientRequestInitializer KEY_INITIALIZER = new CommonGoogleJsonClientRequestInitializer(GooglePlusAPIKey); しかし、その後何をすべきかわかりませんでした。
API を使用して http 要求イニシャライザを実行する方法を理解する必要があります
本当に助けが必要です、感謝します。
応答を待っています。