Articles of google authentication

获取Google一次性授权码

我无法从Google获取一次性授权码。 我试图从Android客户端获取授权码,以便将其发送到我的Rails后端(Web客户端)。 在我的Google Cloud Developer Console中,我有一个包含两个客户端ID的应用程序: Web应用程序的客户端ID(用于我的rails后端) Android应用程序的客户端ID(用于我的Android客户端)。 使用的SHA1来自〜/ .android / debug.keystore 假设Web应用程序客户端ID是12345.apps.googleusercontent.com 假设Android客户端ID是67890.apps.googleusercontent.com 这是我的一些代码: private final static String WEB_CLIENT_ID = "12345.apps.googleusercontent.com"; private final static String GOOGLE_CALENDAR_API_SCOPE = "audience:server:client_id:" + WEB_CLIENT_ID; private void getAndUseAuthToken(final String email) { AsyncTask task = new AsyncTask<String, Void, String>() { @Override protected String doInBackground(String… emails) { try { return GoogleAuthUtil.getToken(AddExternalCalendarsActivity.this, […]

com.google.android.gms.auth.GoogleAuthException:未知

我正在尝试使用Oauth2来validationlogin到我的设备的谷歌用户。 我已经创build了客户端ID,但我无法获得预期的结果。 代码是: String mScope="oauth2:server:client_id:NNNNNNNNNNN.apps.googleusercontent.com:api_scope:https://www.googleapis.com/auth/plus.login"; protected Void doInBackground(String… accountName) { Log.i("Inside on AsynTask:","I am here"); String accName=accountName[0]; try { token1 = GoogleAuthUtil.getToken(Web_view_demo.this, accName, mScope); Log.i("Inside on AsynTask:","I am here"); } catch (IOException transientEx) { // Network or server error, try later Log.e("IO", transientEx.toString()); } catch (UserRecoverableAuthException e) { // Recover (with e.getIntent()) Log.e("UserRecover", e.toString()); //Intent […]

Android的GoogleAuthUtil.getTokenWithNotification意图callback不触发

我有一个后台服务,调用GoogleAuthUtl.getTokenWithNotification ,它工作正常,但我试图实现这个函数的callback部分,这是不正常工作。 我已经实现了一个广播接收器,并将其添加到清单,我也有一个在我的应用程序的活动。 以下是相关的代码片段。 GoogleAuthUtil.getTokenWithNotification GoogleAuthUtil.getTokenWithNotification(this.getContext(), account, "oauth2:" + GmailScopes.GMAIL_SEND, null, new Intent(AuthReceiver.AUTH_INTENT)); AuthReceiver public class AuthReceiver extends BroadcastReceiver { public final static String AUTH_INTENT = "com.testoauth.AUTH_INTENT"; public AuthReceiver() { } @Override public void onReceive(Context context, Intent intent) { Log.d("RECEIVER", "Received Auth broadcast."); NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.cancelAll(); } } AndroidManifest <receiver android:name=".AuthReceiver" android:enabled="true" android:exported="true"> […]