Google Form 結合 Apps Script 無法發 Telegram / Line Bot 訊息

顯示錯誤為 Message: Exception: You do not have permission to call UrlFetchApp.fetch. Required permissions: https://www.googleapis.com/auth/script.external_request

1. 專案設定 -> 一般設定 -> 打開 【在編輯器中顯示 appscript.json 資訊清單檔案】選項


2. 回到編輯器 -> 編輯 appscript.json -> 補 “https://www.googleapis.com/auth/script.external_request” 設定
  “oauthScopes”: [

    “https://www.googleapis.com/auth/script.external_request”
  ]
3. 觸發條件 -> 編輯原本的觸發條件 -> 儲存,就會跳出確認訊息

2 Comments

  1. 您好 我自己也有遇到觸發了卻沒辦法成功發送line的狀況
    我是使用網路上有人提供的程式碼
    原本都正常 昨天突然無法發送line

    總之我是個外行人
    想請問您能否詳細說明第2點
    補 “https://www.googleapis.com/auth/script.external_request” 設定
    “oauthScopes”: [

    “https://www.googleapis.com/auth/script.external_request”
    ]

    是要補在哪裡?

    Mason
    1. 照我上面說的操作,應該可以看到 appscript.json 檔案了。如果 appscript.json 檔案內沒有 oauthScopes 屬性的話,就自己補上。階層跟 timeZone、dependencies 等是都是在第一層,同階級。
      {
      “timeZone”: “Asia/Taipei”,
      “dependencies”: {
      xxx
      },
      “oauthScopes”: [“https://www.googleapis.com/auth/forms”, “https://www.googleapis.com/auth/spreadsheets”, “https://www.googleapis.com/auth/drive”, “https://www.googleapis.com/auth/spreadsheets.readonly”, “https://www.googleapis.com/auth/userinfo.email”, “https://www.googleapis.com/auth/script.external_request”],
      ]
      }
      這是我 form 用到的所有權限,主要是補了 “https://www.googleapis.com/auth/script.external_request” 進來後,Form 在運行碰到問題時才發的了 Telegram、Line。但我另一個非 Form,而是結合 Sheet 的 App Script 排程,不用設定也可以發訊息,近期也正常。

      Qoo

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *