从Android中的GoogleApiClient获取我的应用程序的访问令牌

时间:2014-09-27 10:29:05

标签: android google-plus access-token

我目前正在开发一个应用程序,我已将GooglePlus Api集成到其中。我的应用程序成功使用谷歌帐户登录,但我无法获得访问令牌。我按照developer.google.com提供的步骤和针对Stackoverflow中发布的类似问题提供的解决方案。

EG。

 AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... params) {
                String token = null;

                try {
                    token = GoogleAuthUtil.getToken(
                            MainActivity.this,
                            mGoogleApiClient.getAccountName(),
                            "oauth2:" + SCOPES);
                } catch (IOException transientEx) {
                    // Network or server error, try later
                    Log.e(TAG, transientEx.toString());
                } catch (UserRecoverableAuthException e) {
                    // Recover (with e.getIntent())
                    Log.e(TAG, e.toString());
                    Intent recover = e.getIntent();
                    startActivityForResult(recover, REQUEST_CODE_TOKEN_AUTH);
                } catch (GoogleAuthException authEx) {
                    // The call is not ever expected to succeed
                    // assuming you have already verified that 
                    // Google Play services is installed.
                    Log.e(TAG, authEx.toString());
                }

                return token;
            }

            @Override
            protected void onPostExecute(String token) {
                Log.i(TAG, "Access token retrieved:" + token);
            }

        };
        task.execute();

mGoogleApiClient.getAccountName()方法不是为了我(即当我输入mGoogleApiClient.时没有这样的方法来调用getAccountName())。 这是因为我在片段中实现了GoogleApi吗? OR

这有什么理由吗。

请帮我解决这个问题。 谢谢

1 个答案:

答案 0 :(得分:4)

最后,我找到了我要找的东西,我使用了Plus.AccountApi.getAccountName(mGoogleApiClient)而不是mGoogleApiClient.getAccountName(),结果很明显。