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を変更
1 |
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' |
次に、 取得したコードからリフレッシュトークンを取得
1 2 3 4 5 6 7 8 9 10 11 |
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 }); |
リフレッシュトークンを指定して、アクセストークンを取得
1 2 3 4 5 6 7 8 9 10 11 |
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!
有効期限が切れそうになったら、アクセストークンを
再取得しよー