前提・実現したいこと
プログラミング初心者です。
ネット上に公開されているソースコードを参考に、Google Apps Scriptを使ってGoogle Drive上のフォルダに
pdfファイルがアップロードされたらchatworkで通知するという機能を実現させたいのですが、以下のエラーが
発生してしまいつまづいています。
発生している問題・エラーメッセージ
Exception: Request failed for https://api.chatwork.com returned code 403. Truncated server response: {"errors":["You don't have permission to send/edit message."]} (use muteHttpExceptions option to examine full response) at ChatWork._sendRequest(client:78:28) at ChatWork.post(client:89:19) at ChatWork.sendMessage(client:26:19)
該当のソースコード
// 【編集対象】Chatwork API Token const CW_TOKEN = 'ここにChatwork APIトークン'; // 【編集対象】通知メッセージを送るグループチャットのルームID const CW_ROOM_ID = 'ここにルームID'; // 【編集対象】対象のドライブのフォルダID const FOLDER_ID = 'ここにフォルダID'; // フォルダに新規作成されたファイルがないか確認する間隔(分指定) const CHECK_MINUTES_TIME = 5; function myFunction() { // アクセス日時を取得(比較用) const access_date = Date.now(); // フォルダ情報を取得 const folder = DriveApp.getFolderById(FOLDER_ID); // PDFファイルのファイル情報を取得 const files = folder.getFilesByType(MimeType.PDF); // 取得したファイルの数だけ繰り返す while(files.hasNext()){ var file = files.next(); var create_date = file.getDateCreated(); var time_diff = (access_date - create_date.getTime()) / (60 * 1000); // 指定された時間内に作成されたファイルか if(time_diff < CHECK_MINUTES_TIME){ // Chatwork送信用のメッセージ作成 var body = ''; body += '[info][title]ファイルが追加されました[/title]'; body += 'ファイル名: ' + file.getName() + '\n'; body += 'URL: ' + file.getUrl(); body += '[/info]'; // Chatworkへ送信 sendMessage(body); } } } // Chatworkへメッセージ送信 function sendMessage(body) { const client = ChatWorkClient.factory({token: CW_TOKEN}); client.sendMessage({ room_id: CW_ROOM_ID, body: body }); }
試したこと
・指定したGoogle Driveのフォルダをマイドライブに移動し、オーナー権を自分のアカウントに変更
・chatworkのトークルームの管理者を自分に変更
補足情報(FW/ツールのバージョンなど)
参考にしたwebページ https://creators-note.chatwork.com/entry/gas-google-drive
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/30 00:14