- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 GoogleUtilAuth.getToken() 生成 token 。我还生成了两个客户端 ID,一个用于网页,一个用于 Android 应用程序,两者都在同一个项目中。点击此链接
verification from back end server
这是我的代码:
package com.example.tokengenerate;
import java.io.IOException;
import com.google.android.gms.auth.GoogleAuthException;
import com.google.android.gms.auth.GoogleAuthUtil;
import com.google.android.gms.auth.UserRecoverableAuthException;
import com.google.android.gms.common.Scopes;
import android.os.AsyncTask;
import android.os.Bundle;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tv;
String scope="audience:server:client_id:CLIENTID OF WEBPAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv =(TextView)findViewById(R.id.printId);
new AsyncTask<Void, Void, Void>() {
String id=null;
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
tv.setText(id);
super.onPostExecute(result);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
String[] account=getAccountNames();
for(int i =0;i<account.length;i++)
{
try {
Log.e("account name", account[i]);
id=GoogleAuthUtil.getToken(MainActivity.this, account[i], scope);
Log.e("google id",id);
} catch (UserRecoverableAuthException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (GoogleAuthException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
}.execute(null,null,null);
}
private String[] getAccountNames() {
AccountManager mAccountManager = AccountManager.get(this);
Account[] accounts = mAccountManager.getAccountsByType(
GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
String[] names = new String[accounts.length];
for (int i = 0; i < names.length; i++) {
names[i] = accounts[i].name;
}
return names;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这是我的 Logcat:
08-27 19:19:54.641: W/System.err(9792): com.google.android.gms.auth.GoogleAuthException: Unknown
08-27 19:19:54.651: W/System.err(9792): at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
08-27 19:19:54.651: W/System.err(9792): at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
08-27 19:19:54.651: W/System.err(9792): at com.example.tokengenerate.MainActivity$1.doInBackground(MainActivity.java:45)
08-27 19:19:54.661: W/System.err(9792): at com.example.tokengenerate.MainActivity$1.doInBackground(MainActivity.java:1)
08-27 19:19:54.661: W/System.err(9792): at android.os.AsyncTask$2.call(AsyncTask.java:264)
08-27 19:19:54.661: W/System.err(9792): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-27 19:19:54.661: W/System.err(9792): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-27 19:19:54.661: W/System.err(9792): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-27 19:19:54.661: W/System.err(9792): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-27 19:19:54.661: W/System.err(9792): at java.lang.Thread.run(Thread.java:864)
完全卡住了,请帮忙。没明白我要去的地方
最佳答案
使用此代码获取范围
String scope = "oauth2:" + Scopes.PROFILE;
并在这里使用这个scpe
id=GoogleAuthUtil.getToken(MainActivity.this, account[i], scope);
然后你可以在变量“id”中获取你的访问 token 。简单方法。
关于android - GoogleAuthException 未知来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18467847/
我正在使用 GoogleUtilAuth.getToken() 生成 token 。我还生成了两个客户端 ID,一个用于网页,一个用于 Android 应用程序,两者都在同一个项目中。点击此链接 ve
我有 android、google 授权问题(类似于 .GoogleAuthException: Unknown while doing Google SSO. - 没有答案): 09-29 00:0
异常(exception): 07-28 14:36:13.140: W/System.err(11382): com.google.android.gms.auth.GoogleAuthExcept
我试图在 Android 上使用他们的 sdk 从 Google+ 获取授权 token ,但它总是引发“GoogleAuthException Unknown” 这是我使用的代码: private
我正在尝试通过 Google Plus 登录获取授权代码以在服务器上使用它。 G+ 登录有效,我在设备上登录,但是当我尝试获取 token 时,我收到异常消息 Unknown。这是代码: privat
有关更多上下文,这篇文章遵循 this one . 为了解决我之前的问题,我尝试按照 Tim Bray 在此处提供的解决方案: Verifying Back-End Calls from Androi
我正在尝试使用 Oauth2 对登录到我的设备的 google 用户进行身份验证。我已经创建了客户端 ID,但无法获得预期的结果。 代码是: String mScope="oauth2:server:
我正在实现一个 Android 应用程序,使用户能够直接从该应用程序流式传输到 YouTube channel 。我已经创建了一个 API key 和一个 OAuth 2.0 客户端 ID 但我得到以
登录成功后,我无法检索任何个人资料信息,并且在 GoogleAuthUtil.getToken() 方法上不断收到错误消息。 错误: com.google.android.gms.auth.Googl
我的应用程序允许用户使用 Google Plus 登录,并获取他们的姓名和电子邮件地址。我试图访问 token 。 访问 token 的代码: Toast.makeText(this, "User i
我的目标是在没有任何服务器端工作的情况下获取用户的基本个人资料信息(名字、姓氏等)。而且我不想在用户界面上使用 Google+ 登录按钮。 我可以毫无问题地获取用户的电子邮件。所以下一步是获取访问 t
在我的 Android 应用程序中,我正在尝试获取 google token 以在我的 google 应用引擎后端服务器上进行验证。但我总是得到这个异常(exception): com.google.
我正在编写一个用于上传所选图像的 adroid 应用 到用户的谷歌驱动器。 我已将代码从 git 克隆到另一台机器,然后图像将不再上传。 我得到一个 com.google.android.gms.au
我是一名优秀的程序员,十分优秀!