Google 使用 CURL OAuth 的 Search Console API

Google Search Console API with CURL OAuth

我想使用 CURL 通过 Google Search Console API 获取我们网站页面的月度数据 - 使用的关键字、页面展示次数等。我有一个 Google 已验证域的帐户。我有一个可以访问 API 和 API 密钥的项目。

我已经搜索并测试了小时

Google 文档说我可以使用 API 键并将其附加到 URL:

的末尾
https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={my API key}

JSON我post到API是:

{
"startDate": "2021-04-01",
"endDate\": \"2021-04-30",
"dimensions": ["PAGE","QUERY"]
}

我总是收到身份验证错误:“请求缺少必需的身份验证凭据”。

我已尝试了解 OAuth。我只是无法理解,也无法通过各种“帮助”文章准确解释我所做的事情。我无法确定是否需要以及如何获得教程中提到的授权令牌,以便随后请求数据。我很迷茫。

任何人都可以解释如何使用 CURL 来验证对 Google Search Console API 的请求,使用 OAuth 或 API 密钥。

Api 密钥仅用于访问 public 数据您要访问的数据是私有数据。

要访问私有数据,您需要使用 oauth2 来获取访问令牌

# Tutorial https://www.daimto.com/how-to-get-a-google-access-token-with-curl/
# YouTube video https://youtu.be/hBC_tVJIx5w
# Client id from Google Developer console
# Client Secret from Google Developer console
# Scope this is a space seprated list of the scopes of access you are requesting.

# Authorization link.  Place this in a browser and copy the code that is returned after you accept the scopes.
https://accounts.google.com/o/oauth2/auth?client_id=[Application Client Id]&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=[Scopes]&response_type=code

# Exchange Authorization code for an access token and a refresh token.

curl \
--request POST \
--data "code=[Authentcation code from authorization link]&client_id=[Application Client Id]&client_secret=[Application Client Secret]&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code" \
https://accounts.google.com/o/oauth2/token

# Exchange a refresh token for a new access token.
curl \
--request POST \
--data 'client_id=[Application Client Id]&client_secret=[Application Client Secret]&refresh_token=[Refresh token granted by second step]&grant_type=refresh_token' \
https://accounts.google.com/o/oauth2/token

此视频将带您了解它 Understanding Google OAuth 2.0 with curl