【发布时间】:2022-01-27 00:40:12
【问题描述】:
我正在尝试从谷歌搜索控制台https://www.googleapis.com/webmasters/v3/sites 获取数据,但从节点后端而不是前端获取数据,我在谷歌 api 控制台上创建了 OAuth 2.0 客户端 ID 和 API 密钥。但是我可以找到连接的方式。
我正在关注本指南https://googleapis.dev/nodejs/googleapis/latest/searchconsole/index.html
我只是希望能够从节点发出读取请求。
我试过了
import { google } from 'googleapis'
const auth = new google.auth.OAuth2(
YOUR_CLIENT_ID,
YOUR_CLIENT_SECRET,
YOUR_REDIRECT_URL
);
google.options({ auth })
const searchconsole = google.webmasters({ version: 'v3', auth })
const sites = await searchconsole.sites.list({})
console.log(sites)
即使您的所有凭据都正确,我也会收到此错误
'Error: No access, refresh token, API key or refresh handler callback is set.'
【问题讨论】:
-
尝试查看Google drive 的示例,它将向您展示authorizaotn 应该如何工作。只需更改网站管理员的驱动服务即可工作
-
授权不是问题,问题是与searchconsole交互获取站点列表
-
你需要先创建一个服务 const service = google.webmasters({version: 'v3', auth});
-
谢谢,该服务有效,但我找不到与此
service交互以获取此https://www.googleapis.com/webmasters/v3/sites的文档 -
要么检查源代码,要么只查找与文档 developers.google.com/webmaster-tools/… 同名的方法,应该有类似 service.sites.list 的内容,该库是从 api 的发现文档生成的,所以它应该与文档完美匹配。
标签: javascript node.js oauth-2.0 google-api google-search-console