- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个应用程序,我试图在其中获取谷歌身份验证 token 。它会在每次请求时超时,并且不会在 logcat 中提供任何有用的消息。我试图弄清楚我是否未能正确设置我的云控制台,或者我的代码是否有问题。
我的 token 请求类:
public class GetMyToken extends AsyncTask<String,Void,String>{
Context c;
String TAG = "wnycmap issues";
public GetMyToken(Context c) {
this.c=c;
}
@Override
protected String doInBackground(String...mEmail) {
String mScope = "oauth2:https://www.googleapis.com/auth/plus.me";
String email = mEmail[0];
System.out.println(c+email+mScope);
try {
return GoogleAuthUtil.getToken(c, email, mScope);
// System.out.println(token);
} 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) {
Log.e(TAG, authEx.toString());
}
return "nope";
}
我调用它的方法:
private void authenticate() {
String accountEmail="asdf";
String token = "null";
AccountManager am = AccountManager.get(context);
Account[] accounts = am.getAccountsByType("com.google");
if (accounts != null){
Account account = accounts[0];
accountEmail = account.name;
System.out.println(context);
try {
token=new GetMyToken(getApplicationContext()).execute(accountEmail).get();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
以及我的相关 list 设置
我会发布我的 logcat,但我得到的只是 println 告诉我我正在使用的上下文、电子邮件和范围,然后是一个错误告诉我我的 Activity 超时。我没有收到任何回复。感谢您的任何回复,我已经连续 5 天不间断地研究这个问题了,我已经无计可施了,试图解决这个问题。我知道它必须是简单的东西。我会采纳任何想法。
最佳答案
这不是一个完整的答案,但我无法对您的帖子发表评论,因为我必须首先拥有 50 个声望,而我没有。
我目前遇到了与 GoogleAuthUtil.getToken(...) 不同的问题。但是当我尝试你的执行任务的方法时,我遇到了一个超时问题,可能和你的一样。
为避免超时问题,您必须更改执行任务的行来自:
token=new GetMyToken(getApplicationContext()).execute(accountEmail).get();
收件人:
new GetMyToken(getApplicationContext()).execute(accountEmail);
无论您想用 token 做什么,都可以:
doInBackground 在后台运行,您不应该挂起应用程序等待其响应。这样做可以防止超时问题,并让我回到我已经面临的问题。
关于android - googleauthutil.gettoken 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101127/
我开发了一个应用程序,它使用 gmail api 来获取用户发送的所有邮件。然后我将这个应用程序分成一个示例(几乎是空的)和一个可以执行所有操作的 fragment ,这样我以后可以轻松地将我的 fr
在 express-jwt docs有一个关于能够使用 getToken 函数从请求中获取 token 的引用。 你如何在路由中使用这个调用? app.use(jwt({ secret: 'hel
我有一个返回 3 个函数的工厂:setToken、getToken、isAuthenticated。前两个函数是预定义的,最后一个调用 getToken 函数,使用 this.getToken。 当将
在我的 Android 应用程序中,我试图获取 Google token 以连接到 Google 电子表格。这是执行此操作的代码: AsyncTask getTokenTask = new Async
我为我在学校做的家庭作业编写了这个函数: char* getToken(char buffer[], int pos) { int i; char copy[350], *token,
GoogleAuthUtil.getToken 的第二个参数需要一个帐户对象,但是当您连接到 Google SignIn 时,您返回的结果是 GoogleSignInAccount - 这不是一回事。
尝试调用 GoogleAuthUtil.getToken(args) 时,我在具有最新 Google Play 服务的 ICS 设备上遇到此故障。通过在手机中删除和添加 Google 帐户解决了该问题
我正在使用 OAuth2 进行自动登录。但我不知道 getToken() 方法中的范围参数是什么,请帮助我。 最佳答案 OAuth2 authorization uses access token t
我有一个应用程序,我试图在其中获取谷歌身份验证 token 。它会在每次请求时超时,并且不会在 logcat 中提供任何有用的消息。我试图弄清楚我是否未能正确设置我的云控制台,或者我的代码是否有问题。
我使用以下内容来获得可以从 Android 应用访问后端的身份验证。这在此处进行了描述 https://developers.google.com/identity/protocols/CrossCl
几个月的自我,我的谷歌登录程序没有问题,但今天模拟器在 Logcat 中回复我这个错误: E/Auth:[GoogleAccountDataServiceImpl] getToken() -> NEE
在我的程序中,我处理了数百万个具有特殊字符的字符串,例如“|”分隔每个字符串中的标记。我有一个函数可以返回第 n 个 token ,就是这样: function GetTok(const Line:
这个问题已经有答案了: FirebaseInstanceIdService is deprecated (19 个回答) 已关闭 4 年前。 我可以问一个问题,我可以使用“if”作为 Firebase
我使用了 GoogleApiClient 对象,继承了 ConnectionCallbacks 接口(interface)并调用了 GoogleAuthUtil.getToken(Context co
我尝试从 flickr rest api 获取 authToken 但 console.log 发生错误 Invalidsignature 。我的回复链接是: http://api.flickr.co
我尝试获取 GWT 应用程序中最后访问的页面。如果历史上出现过特定页面,我想跳过该页面。为了获取上次访问的页面,我尝试 History.getToken() 来获取当前 token ,如文档中所述。但
我已采取的步骤 使用 Google 的开发者控制台: 我已经创建了一个项目并为该项目创建了一个客户端。 我已激活 Youtube API 数据 我将回调设置为 http://localhost:300
关于 FirebaseInstanceId.getToken(String authorizedEntity, String scope) 我有两种类型的问题,一种是关于多次调用此方法,另一种是关于调
我正在尝试将 FCM 通知添加到我的应用程序,但出于某种原因 FirebaseInstanceId.getInstance().getToken(); 正在返回 null。 因为我没有得到任何堆栈跟踪
我目前正在构建一个 Android 应用程序,它从我的后端服务器请求数据。当然,我想知道在我的服务器上收到的请求是否真的来 self 的应用程序,或者是否有人只是从另一台服务器发送 HTTP 请求等。
我是一名优秀的程序员,十分优秀!