我有一個 Google Apps 腳本專案,我需要通過 GET 和 POST 方法接收一些請求。使用 GET 方法一切正常,因為我可以通過瀏覽器中的 URL 模擬它;問題出在 POST 方法中,我無法通過 CURL 執行它,它顯示了 Google 權限錯誤。
這是我的代碼
function doPost(e) {
let response = ContentService.createTextOutput()
response.setContent(JSON.stringify({
response: e
}))
response.setMimeType(ContentService.MimeType.JSON)
return response
}
function foo()
{
var url = "https://script.google.com/macros/s/id/dev";
var headers = {"Authorization": "Bearer " ScriptApp.getOAuthToken()};
var payload = {
debug: 'data ok'
}
var params =
{
"method": "post",
"contentType": "application/json",
"headers": headers,
"payload": JSON.stringify(payload),
"muteHttpExceptions": true
};
var response = UrlFetchApp.fetch(url, params).getResponseCode()
Logger.log(response);
}
我需要使用https://script.google.com/macros/s/id/**dev* * 鏈接進行除錯。目的不是為每個測驗生成一個版本。
uj5u.com熱心網友回復:
在當前狀態下,Test Deployments只有對腳本具有編輯權限的用戶才能訪問。這意味著您需要登錄才能訪問此部署,并且您無法通過 cURL 請求執行此操作,除非您擁有執行此操作所需的 cookie。
作為解決方法,請執行以下步驟:
- 打開
Google Developer Tools > Network Tab。 - 轉到您擁有測驗部署
/dev/端點的頁面。 - 在名為 的請求中
dev,單擊第二個按鈕并轉到Copy > Copy as cURL。這將使用所有必要的 cookie 復制請求。 - 在終端中,通過添加
-X POST.
回應包括所需頁面的 HTML。
檔案
- 谷歌餅干
- 在 cURL 中重放網路請求
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想
https://script.google.com/macros/s/###/dev使用 curl 命令向您的 Web 應用程式發出請求。
在這種情況下,下面的 curl 命令怎么樣?
示例 curl 命令:
當你的有效載荷被使用時,它變成如下。
curl -L \
-d '{"debug": "data ok"}' \
-H "Authorization: Bearer ###your access token###" \
-H "Content-Type: application/json" \
"https://script.google.com/macros/s/###/dev"
為了訪問
https://script.google.com/macros/s/###/dev,需要在請求標頭中包含訪問令牌。作為一個范圍,它需要用于 Drive API。例如,它是https://www.googleapis.com/auth/drive.readonly.如果您想對此進行測驗,您可以使用以下 Google Apps 腳本示例腳本檢索訪問令牌。您可以通過上述 curl 命令使用此訪問令牌。
function getAccesstoken() { console.log(ScriptApp.getOAuthToken()) // DriveApp.getFiles(); // This is used for automatically detecting the scope of `https://www.googleapis.com/auth/drive.readonly`. }在這種情況下,
eofdoPost(e)如下所示。{"contextPath":"","parameter":{},"postData":{"contents":"{\"debug\": \"data ok\"}","length":20,"name":"postData","type":"application/json"},"contentLength":20,"queryString":"","parameters":{}}
參考:
- 通過 Google Apps 腳本利用網路應用
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/376106.html
標籤:javascript 谷歌应用程序脚本 邮政
