2016-06-13 7 views
0

私はGoogleの人々apiを使用しようとしていますが、私は多くの困難に直面しています。 apiコンソールから生成されたjsonファイルにclientSecretが含まれていません。どこで入手できますか?だから私はnull認証コードを取得しています。誰も私にこの問題を助けることができますか?あなたは、クライアントのIDを作成すると、「その他」、あなたはclientSecretを見つけることができるよう事前に感謝Google People AndroidアプリのApi実装

public void setUp() throws IOException { 
      HttpTransport httpTransport = new NetHttpTransport(); 
      JacksonFactory jsonFactory = new JacksonFactory(); 

      // Go to the Google Developers Console, open your application's 
      // credentials page, and copy the client ID and client secret. 
      // Then paste them into the following code. 
      String clientId = ""; 
      String clientSecret = ""; 

      // Or your redirect URL for web based applications. 
      String redirectUrl = "urn:ietf:wg:oauth:2.0:oob"; 
      String scope = "https://www.googleapis.com/auth/contacts.readonly"; 

      // Step 1: Authorize --> 
      String authorizationUrl = new GoogleBrowserClientRequestUrl(clientId, 
        redirectUrl, 
        Arrays.asList(scope)) 
        .build(); 

      // Point or redirect your user to the authorizationUrl. 
      System.out.println("Go to the following link in your browser:"); 
      System.out.println(authorizationUrl); 

      // Read the authorization code from the standard input stream. 
      BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
      System.out.println("What is the authorization code?"); 
      String code = in.readLine(); 

      System.out.println(code); 
      // End of Step 1 <-- 

      // Step 2: Exchange --> 
      GoogleTokenResponse tokenResponse = new GoogleAuthorizationCodeTokenRequest(
        httpTransport, jsonFactory, clientId, clientSecret, code, redirectUrl).execute(); 
      // End of Step 2 <-- 

      GoogleCredential credential = new GoogleCredential.Builder() 
        .setTransport(httpTransport) 
        .setJsonFactory(jsonFactory) 
        .setClientSecrets(clientId, clientSecret) 
        .build() 
        .setFromTokenResponse(tokenResponse); 

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

     } 
+0

のように見えるのだろうか? – mikeyq6

+0

上記の変数を読みましたか?// Googleデベロッパーコンソールに移動し、アプリケーションの//クレデンシャルページを開き、クライアントIDとクライアントの秘密をコピーします。 //次のコードに貼り付けます。あなたのGoogleコンソールをチェックしてください。 –

+0

申し訳ありませんカルパナが、私はそこにclientSecrectを見つけることができませんでした。私はクライアントIDしか持っていません。 –

答えて

-1

は、アプリケーションの種類を選択します。 Screen shot

+0

私はjsonファイルをredownloadする必要があると思います。 –

1

ClientIDとClientSecretを取得するには、WebアプリケーションClientIDを作成する必要があります。

もう1つ注目すべきことは、GoogleBrowserClientRequestUrlから生成されたURLのresponse_typetokenになり、エラーが発生することです。 response_typecodeに変更しようとしていますが動作します。

完全なURLを使用すると、 `clientSecrect`変数を設定している

https://accounts.google.com/o/oauth2/auth?client_id=YOUR_ANDROID_APPLICATION_CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/contacts.readonly

関連する問題