相关疑难解决方法(0)

Google plus for android:无效的凭据

我使用以下代码在连接到Google+后获取访问令牌,以获取个人资料信息和电子邮件:

String sAccessToken = GoogleAuthUtil.getToken(this,mPlusClient.getAccountName() + "",
                          "oauth2:" + Scopes.PLUS_PROFILE + " 
                          https://www.googleapis.com/auth/userinfo.profile 
                          https://www.googleapis.com/auth/userinfo.email");
Run Code Online (Sandbox Code Playgroud)

这个访问令牌我没有存储并试图重用.相反,我每次都要求一个访问令牌,期待一个新的(不同的)令牌,这样我就不需要检查它是否过期等等.

但每次我要求时,我都会获得相同的访问令牌.我卸载了应用程序,清除了Google+应用程序的数据,但仍然获得相同的访问令牌.

实际问题是,使用此访问令牌会产生401错误 - "message": "Invalid Credentials"

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }
}
Run Code Online (Sandbox Code Playgroud)

这是对浏览器的响应.

在设备上我在Logcat中得到它:

02-25 02:09:46.919: W/System.err(3022): java.io.FileNotFoundException: https://www.googleapis.com/oauth2/v1/userinfo
02-25 02:09:46.929: W/System.err(3022):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521)
02-25 02:09:46.929: W/System.err(3022):     at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:258)
02-25 02:09:46.929: W/System.err(3022):     at com.example.gmaillogin.MainActivity$connectAsyncTask.doInBackground(MainActivity.java:269)
02-25 02:09:46.929: W/System.err(3022):     at com.example.gmaillogin.MainActivity$connectAsyncTask.doInBackground(MainActivity.java:1)
02-25 02:09:46.929: W/System.err(3022):     at …
Run Code Online (Sandbox Code Playgroud)

android access-token google-plus

8
推荐指数
1
解决办法
3249
查看次数

标签 统计

access-token ×1

android ×1

google-plus ×1