var CLIENT_ID = ‘xxxxxxxxxxxxxx’;
var CLIENT_SECRET = ‘xxxxxxxxxxxxxx’;
var AUTHORIZE_URL = ‘https://accounts.google.com/o/oauth2/auth’;
var TOKEN_URL = ‘https://accounts.google.com/o/oauth2/token’;
var REDIRECT_URI = ‘urn:ietf:wg:oauth:2.0:oob’;
こちらのURLにブラウザでアクセスして承認コードを取得(search console api を使用する場合)
使用するAPIによってscopeを変更
AUTHORIZE_URL + '?client_id='+CLIENT_ID+'&redirect_uri='+REDIRECT_URI+'&scope=https://www.googleapis.com/auth/webmasters.readonly&response_type=code&approval_prompt=force&access_type=offline'
次に、 取得したコードからリフレッシュトークンを取得
var res = UrlFetchApp.fetch(TOKEN_URL, {
"method" : "POST",
payload : {
"code" : [取得したコード],
"client_id" : CLIENT_ID,
"client_secret" : CLIENT_SECRET,
"redirect_uri" : REDIRECT_URI,
"grant_type" : "authorization_code"
},
muteHttpExceptions : true
});
リフレッシュトークンを指定して、アクセストークンを取得
var opt = {
"method" : "POST",
"payload" : {
"client_id" : CLIENT_ID, // 取得した クライアントID
"client_secret" : CLIENT_SECRET, // 取得した クライアントシークレット
"refresh_token" : refresh_token, // 取得したリフレッシュトークン
"grant_type" : "refresh_token"
},
"muteHttpExceptions" : true
};
var res = UrlFetchApp.fetch(TOKEN_URL, opt);
これで取得したアクセストークンを使用して
APIをたたけばOK!
有効期限が切れそうになったら、アクセストークンを
再取得しよー

コメント