@yuki_yama (友貴 山中)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【kintone × GAS】kintone内の添付ファイルをGoogle Drive へ保存

kintone→Google Driveの添付ファイル保存

お世話になります。
表題の通り、kintoneとGASの連携での添付ファイル保存が上手くいかず困っています、、、
改善点ご教授頂きますよう宜しくお願いします。

コードは下記を参考にさせて頂きました。(じゅりどん様いつも参考にさせて頂いてます。ありがとうございます。)

前提条件

  • GASへのデータ送信はwebhookを使用。
  • GAS内でのファイルダウンロードはAPIトークンを使用。←ここで躓いています

発生している問題・エラー

下記ソースコードの印部分UrlFetchApp.fetchメソッド使用部分でエラーになります。

ソース

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);
  
}

appsscript.json

{
  "timeZone": "Asia/Tokyo",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": [
    "https://www.googleapis.com/auth/script.external_request"
  ],
  "runtimeVersion": "V8",
  "webapp": {
    "executeAs": "USER_DEPLOYING",
    "access": "ANYONE_ANONYMOUS"
  }
}

自分で試したこと

上記appsscript.jsonにoauthScopesを追加してみましたが変わらずfetchメソッドの部分でエラーになります、、、

他の部分は実行できたのでAPIトークンやサブドメインの誤字脱字などは大丈夫だと思います。GASのバージョン更新忘れも問題なさそうです。

もしかしてなにかGASへのライブラリ追加が必要なのでしょうか?
解決方法をご存じの方がいらっしゃいましたら是非ご教授ください。
宜しくお願い致します。

0 likes

1Answer

すみません、単純なスペルミスでした、、、

 let fileKey = params.record["請求書"].value[0].fileKye;

 let fileKey = params.record["請求書"].value[0].fileKey;
0Like

Your answer might help someone💌