お世話になります。
表題の通り、GAS連携での添付ファイル保存が上手くいかず困っています、、、
下記ご教授頂きますよう宜しくお願いします。
コードはhttps://zenn.dev/juridon/articles/bce05edae25e29を参考にさせて頂きました。(じゅりどん様いつも参考にさせて頂いてます。ありがとうございます。)
■背景・実現したいこと
- kintone内でレコードが特定の条件を満たしたときに添付ファイル(PDF)をGoogle Driveへ保存する。
- GASへのデータ送信はwebhookを使用。
- GAS内でのファイルダウンロードはAPIトークンを使用。←ここで躓いています
■エラー情報
- 下記コードのコメントアウト部分からエラーになります。
(他の部分は実行できたのでAPIトークンやサブドメインの誤字脱字などは大丈夫だと思います。GASのバージョン更新忘れも問題なさそうです)
■試したこと
- appsscript.jsonへのスコープの追加
(oauthScopesにhttps://www.googleapis.com/auth/script.external_request)
もしかしてなにかGASへのライブラリ追加が必要なのでしょうか?
解決方法をご存じの方がいらっしゃいましたら是非ご教授ください。
宜しくお願い致します。
■コード
function doPost(e) {
const options = {
headers : {
'X-Cybozu-API-Token' : " ***************"
}
};
let params = JSON.parse(e.postData.getDataAsString());
let date = new Date();
date = Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy/MM/dd')
let client = params.record["顧客名"].value;
let amount = params.record["合計金額"].value;
let check = params.record["最終確認"].value;
let send = params.record["送信"].value[0];
let fileKey = params.record["請求書"].value[0].fileKye;
let fileName = client+"_"+amount+"_"+date;
let url_file = "https:// ********.cybozu.com/k/v1/file.json?fileKey=" + fileKey;
////////ここからエラー/////////////
let resp_file = UrlFetchApp.fetch(url_file, options);
let blob = resp_file.getBlob();
blob.setName(fileName);
}
{
"timeZone": "Asia/Tokyo",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request"
],
"runtimeVersion": "V8",
"webapp": {
"executeAs": "USER_DEPLOYING",
"access": "ANYONE_ANONYMOUS"
}
}