2017-04-19 152 views
1

我正在使用Google登錄來獲取基本用戶個人資料數據,但我需要從Google Plus獲取用戶的封面照片。我知道Google Plus已被棄用,所以我閱讀了Google People Api。問題是,當我嘗試實施的例子暴露here,下面的代碼的行不能被解決,因爲包不存在,使用Google People API獲取用戶Google Plus封面圖片

People peopleService = new People.Builder(httpTransport, jsonFactory, credential) 
    .build(); 

將文檔的例子中使用

import com.google.api.services.people.People; 

但如果我嘗試導入該包,它不存在。我只能導入

com.google.api.services.people.v1.PeopleService.People 

並且使用該包,Builder方法不存在。

這裏是我的搖籃文件,

compile 'com.google.android.gms:play-services-auth:10.2.1' 
compile 'com.google.android.gms:play-services-plus:10.2.1' 
compile 'com.google.apis:google-api-services-people:v1-rev91-1.21.0' 
compile 'com.google.http-client:google-http-client-android:1.17.0-rc' exclude module: 'httpclient' 
compile 'com.google.api-client:google-api-client-android:1.17.0-rc' exclude module: 'httpclient' 
compile 'com.google.api-client:google-api-client-gson:1.17.0-rc' exclude module: 'httpclient' 
compile 'com.google.api-client:google-api-client:1.21.0' 

在這裏,我告訴你我是如何嘗試實施谷歌人的API,

public static People setUp(Context context, String serverAuthCode) throws IOException { 
    HttpTransport httpTransport = new NetHttpTransport(); 
    JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance(); 

    // Redirect URL for web based applications. 
    // Can be empty too. 
    String redirectUrl = "urn:ietf:wg:oauth:2.0:oob"; 

    // STEP 1 
    GoogleTokenResponse tokenResponse = new GoogleAuthorizationCodeTokenRequest(
      httpTransport, 
      jsonFactory, 
      context.getString(R.string.default_web_client_id), 
      context.getString(R.string.default_web_client_id), 
      serverAuthCode, 
      redirectUrl).execute(); 

    // STEP 2 
    GoogleCredential credential = new GoogleCredential.Builder() 
      .setClientSecrets(context.getString(R.string.default_web_client_id), context.getString(R.string.default_web_client_id)) 
      .setTransport(httpTransport) 
      .setJsonFactory(jsonFactory) 
      .build(); 

    credential.setFromTokenResponse(tokenResponse); 

    // STEP 3 
    return new com.google.api.services.people.v1.PeopleService.People.Builder(httpTransport, jsonFactory, credential) 
      .setApplicationName("") 
      .build(); 
} 
+0

[Google+ People.get API](https://developers.google.com/+/web/api/rest/latest/people)仍然是獲取Google+個人資料信息的方法。不推薦使用的Google+ People.list方法用於獲取列表好友/關注者。 – abraham

回答

相關問題