Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未能创建google+;在java中检索活动的客户端对象_Java_Google Api_Google Plus_Google Api Java Client_Google Api Client - Fatal编程技术网

未能创建google+;在java中检索活动的客户端对象

未能创建google+;在java中检索活动的客户端对象,java,google-api,google-plus,google-api-java-client,google-api-client,Java,Google Api,Google Plus,Google Api Java Client,Google Api Client,我是Google+API和Java客户端API的新手。所以请对我耐心点 我试图使用Java客户端和G+API1.14检索我的google+活动,但我未能创建客户端对象,我已经尝试了一天,但我没有运气自己解决它,所以我来这里寻求帮助 我的代码是: import java.io.IOException; import java.util.ArrayList; import java.util.List; import com.google.api.client.auth.oauth2.Credent

我是Google+API和Java客户端API的新手。所以请对我耐心点

我试图使用Java客户端和G+API1.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);     
      }


}
import java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
导入com.google.api.client.auth.oauth2.Credential;
导入com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
导入com.google.api.client.googleapis.services.CommonGoogleClientRequestInitializer;
导入com.google.api.client.googleapis.services.GoogleClientRequestInitializer;
导入com.google.api.client.googleapis.services.json.CommonGoogleJsonClientRequestInitializer;
导入com.google.api.client.http.HttpRequestInitializer;
导入com.google.api.client.http.javanet.NetHttpTransport;
导入com.google.api.client.json.gson.GsonFactory;
导入com.google.api.services.plus.plus;
导入com.google.api.services.plus.model.Activity;
导入com.google.api.services.plus.model.ActivityFeed;
导入com.google.api.services.plus.plus.Builder;
公共类Google PlusService{
/**
*google plus服务访问存根
*/
private Plus plusSvc;
/**
*google plus api密钥
*/

私有字符串GooglePlusAPIKey=“MY key”//HttpRequestInitializer实例是一个GoogleCredential对象,如中所示。GoogleCredential对象将在发送请求之前,在Plus服务的每个请求上设置相关授权头

创建GoogleCredential对象并在Plus.Builder中使用它的相关行包括:

GoogleCredential credential = new GoogleCredential.Builder()
    .setJsonFactory(JSON_FACTORY).setTransport(TRANSPORT)
    .setClientSecrets(CLIENT_ID, CLIENT_SECRET).build();
GoogleTokenResponse tokenFromExchange = exchangeCode(accessToken);
credential.setFromTokenResponse(tokenFromExchange);
Plus plus = new Plus.Builder(TRANSPORT, JSON_FACTORY, credential).build();

非常感谢,问题解决了:)

这就是解决方案:

   GoogleCredential credential = new GoogleCredential();
            //plusSvc = new Plus(new NetHttpTransport(),  new GsonFactory(), credential);
            plusSvc =  new Plus.Builder(new NetHttpTransport(),  new GsonFactory(), credential)
            .setApplicationName("Meetrbus/1.0")
            .setHttpRequestInitializer(credential)
            .setPlusRequestInitializer(
                    new PlusRequestInitializer(GooglePlusAPIKey) ).build();