3
在Google+上我需要訪問用戶的時間表。 我用下面的代碼進行驗證:Google+ OAuth authorizaton錯誤(無效標記)
private string GetUrl(string url, Dictionary<string, string> parameters)
{
if (parameters.Count == 0)
{
return url;
}
string query_string = String.Empty;
foreach (var k in parameters)
query_string += k.Key + "=" + (k.Value) + "&";
query_string = query_string.TrimEnd('&');
return url + "?" + query_string;
}
var req = GetUrl(auth_endpoint, new Dictionary<string, string>()
{
{ "response_type", "code" },
{ "client_id", "XXXXXX.apps.googleusercontent.com" },
{ "redirect_uri", "http://localhost:58772/GooglePlus.aspx" },
{ "scope", "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/plus.me" },
{ "state", "authenticated" },
});
Response.Redirect(req);
但是,當我要求使用的https://www.googleapis.com/oauth2/v1/userinfo API的授權:承載XXXX「頭,我碰到下面的錯誤。
{
"error": {
"errors": [
{
"domain": "com.google.auth",
"reason": "invalidAuthentication",
"message": "invalid token",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "invalid token"
}
}
使用'curl'來發出請求也是一樣。 我複製並粘貼谷歌提供的驗證碼很多時間...相同的結果。驗證碼如下所示:4/XXX-XXXXXXXXXXXXXXX.XXXXXXXXXXXXX_XXXXX
我該如何解決? 謝謝
爲什麼要將「.apps.googleusercontent.com」添加到客戶端ID? –
您從谷歌收到的授權碼只能使用一次。您可以使用https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=INSERT_ACCESS_TOKEN API來查看您的訪問令牌是否有效? –