所以,这里有3个步骤。
我使用以下网址调用了 oAuth2:
https://accounts.google.com/o/oauth2/v2/auth
?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fwebmasters%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fwebmasters.readonly
&client_id=___.apps.googleusercontent.com
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
&response_type=code
&approval_prompt=force
&access_type=offline
我得到代码,假设:4/QVgPaCMqp94____qBC4NY_d54IcRj7U9mJc
https://accounts.google.com/o/oauth2/token
然后我通过向with client_id
, client_secret
, redirect_uri
,发出 POST 请求来请求 access_token ,grant_type
我得到一个 JSON 如下:
'access_token' => ya29.CjHzAgC4js6Guv-1pt_rE____q8XIxiXOXOaSZW9NLRjKCTI3izBi,
'expires_in' => 3600,
'refresh_token' => 1/dL3ENA-EVI0rEb6D-OGqw_____iFe2ZNdEq4,
现在,我正在使用该 access_token 发出请求,或者在我已在范围中添加的更新 access_token 到 Google Search Console 的情况下发出请求。
我的请求与此类似:https ://developers.google.com/webmaster-tools/v3/urlcrawlerrorssamples/list#try-it
但我收到一个 401 未经授权的错误,json 如下:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
考虑到我已经正确地完成了这个过程,我认为我遗漏了一些参数或提供了一些错误的值。
我没有使用 Google Client Library,而是直接使用了 REST API 框架。
有人可以提供一些线索吗?谢谢你。