トークンの取得
function Get_TOKEN() {
const data = {
'client_id' : ★ClientID,
'client_secret' : ★SecretKey
}
var header = {
'accept' : 'application/json',
}
var options = {
'method' : 'POST',
'headers' : header,
'contentType': 'application/x-www-form-urlencoded',
'payload' : data,
'muteHttpExceptions' : true
};
var res = UrlFetchApp.fetch((★BaseDomain + ★URL_GetToken), options);
var json = res.getContentText();
var token = JSON.parse(json)
console.log(token.access_token);
return token.access_token;
}
※ ★の部分はグローバル変数で定義しているところ。適宜変更する
自分的学び
- BodyにIDとKeyを書く
- UrlFetchApp.fetchのBodyは「payload」
- contentTypeのoptionsに書いてもいいはず
トークンを使ってAPIにリクエストを出す
URL、TOKEN、メソッド、BODYからリクエストを出して、Responseを返す変数。
function Sent_Request(url, token, method, body)
{
var header = {
'accept' : 'application/json',
'Authorization': 'Bearer '+ token,
};
var options = {
'method' : method,
'headers' : header,
'contentType': 'application/x-www-form-urlencoded',
'muteHttpExceptions' : true
};
if(body != null){
console.log("Add Body")
options.body = body;
} else {
console.log("No Body")
}
console.log(options);
return UrlFetchApp.fetch((BaseDomain_CrowdStrike + url), options);
}
自分的学び
- Headerに要素’Authorization’を追加し、”Bearer (token文字列)”を記載する。ここらへんのルールを読み解くのに苦労した
トークンの削除
これも共通ルール? トークン作りっぱなしだと制限に引っ掛かる可能性があるため、原則作ったトークンは最後に削除するようにする。
【合言葉づくり】
const Encode = Utilities.base64Encode((ClientID + ":" + SecretKey));
【トークン削除】
function Revoke_TOKEN(token) {
var data = {
'token' : token
}
var header = {
'accept' : 'application/json',
'Authorization': 'Basic '+ Encode,
}
var options = {
'method' : 'POST',
'headers' : header,
'contentType': 'application/x-www-form-urlencoded',
'payload' : data,
'muteHttpExceptions' : true
};
var res = UrlFetchApp.fetch((BaseDomain_CrowdStrike + URL_RevokeToken), options);
var json = res.getContentText();
var token = JSON.parse(json)
console.log(token);
}
自分的学び
- 「clientID:clientSecret」の文字列をエンコードして、合言葉を作成する