在 android 上获取 Google 令牌的验证后端

Validation backend with get Google Token on android

当我尝试将 android 中的 Google 令牌获取到 Balidation 后端时遇到问题。我创建 Web 应用程序客户端 ID(我在 url 路径中使用 http://localhost),Android 客户端 ID,并使用此代码:

public class GoogleOAuthTask extends AsyncTask<Void, Void, String> {

private static final String TAG = GoogleOAuthTask.class.getSimpleName();
Activity mActivity;
String mEmail;

private final static String SCOPE = "audience:server:client_id:XXXXXXXXXXXXXXXXXXXAAAAAXXXXXXXXXXX.apps.googleusercontent.com";

public GoogleOAuthTask(Activity activity, String email) {
    this.mActivity = activity;
    this.mEmail = name;
}

@Override
protected String doInBackground(Void... params) {
    String accountName = "myRandomValidEmail@gmail.com";
    Account account = new Account(accountName, GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
    String scopes = "audience:server:client_id:XXXXXASASXXXXX.apps.googleusercontent.com"; // This is my Web Application Client Id
    try {
        return GoogleAuthUtil.getToken(mActivity, account, scopes);
    } catch (IOException e) {
        Log.e(TAG, "Error retrieving ID token.", e);
        return null;
    } catch (GoogleAuthException e) {
        Log.e(TAG, "Error retrieving ID token.", e);
        return null;
    }
}
}

我的问题是:

当我调用 GoogleAuthUtil.getToken(mActivity, account, scopes) 时代码没有继续,即方法永远不会结束。

我在等

更多信息:

我使用 .android/debug.keystore 生成 SHA-1 哈希 我在 Javascript 起源中使用 http://localhost 我在重定向 URI 中使用 http://localhost/MyWebService。 此行出现在 logcat:

Could not find method android.app.Notification$Builder.setLocalOnly

问题出在 AsyncTask 中的线程池。