查詢谷歌搜索API控制檯我需要使用服務帳戶檢索從谷歌搜索控制檯(網站站長工具)的一些數據。無法使用服務帳戶
到目前爲止,我已經能夠檢索,我需要追加到請求的URL服務帳戶的access_token
。問題是,我無法找到一個方法來做到這一點,這是我使用的代碼:
function retrieveSearchesByQuery(token)
{
gapi.client.webmasters.searchanalytics.query(
{
'access_token': token,
'siteUrl': 'http://www.WEBSITE.com',
'fields': 'responseAggregationType,rows',
'resource': {
'startDate': formatDate(cSDate),
'endDate': formatDate(cEDate),
'dimensions': [
'date'
]
}
})
.then(function(response) {
console.log(response);
})
.then(null, function(err) {
console.log(err);
});
}
這是由函數調用的網址:
https://content.googleapis.com/webmasters/v3/sites/http%3A%2F%2Fwww.WEBSITE.com/searchAnalytics/query?fields=responseAggregationType%2Crows&alt=json"
相反,它應該是這樣的:
https://content.googleapis.com/webmasters/v3/sites/http%3A%2F%2Fwww.WEBSITE.com/searchAnalytics/query?fields=responseAggregationType%2Crows&alt=json&access_token=XXX"
的gapi.client.webmasters.searchanalytics.query
不承認'access_token'
作爲一個有效的密鑰因此不追加到URL,這就是爲什麼我得到一個401 Unauthorized
作爲響應。
如果我使用'key'
代替'access_token'
參數被附加到URL,但'key'
用於OAuth2
認證,這樣的服務帳戶令牌我傳遞無效。
有沒有人有解決方案或解決方法?
謝謝!最後的解決方案是有效的,但使用以下語法:'gapi.auth。setToken({access_token:「YOUR_TOKEN_HERE」 });',因爲該方法接受一個tokenObject而我有一個字符串。現在我可以正確登錄並檢索數據 – Signo