Google Search Console(ウェブマスターツール)からサービスアカウントを使用してデータを取得する必要があります。サービスアカウントを使用してGoogle Search Console 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);
});
}
を。これは、関数によって呼び出されるURLです:
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
は、このように、それはURLに追加していないと私は応答として401 Unauthorized
を得る理由です有効なキーとして'access_token'
を認識しません。このようなものになります。
私は'key'
の代わり'access_token'
を使用する場合、パラメータはURLに付加されますが、私は合格したサービスアカウントのトークンが有効ではありませんので、'key'
はOAuth2
認証に使用されます。
これには解決策があるのでしょうか?
ありがとう:サービスアカウントの場合でなければなりません外部で生成されたアクセストークンを、使用する必要がある場合
は、あなたが必要なセットを自分のアプリケーションのためのOAuth 2.0 token objectから
gapi.auth.setToken
methodを使用するように!最後の解決策はうまくいきましたが、以下の構文で動作します: 'gapi.auth。私は文字列を持っている間にメソッドがtokenObjectを受け入れるので、setToken({ access_token: "YOUR_TOKEN_HERE" });今すぐログインしてデータを正しく取得できます – Signo