gpt4 book ai didi

go - 调用 Google Apps 脚本

转载 作者:行者123 更新时间:2023-12-03 10:08:42 25 4
gpt4 key购买 nike

我有以下 Google Apps 脚本:

function doGet(request) {
var events = CalendarApp.getEvents(
new Date(Number(request.parameters.start) * 1000),
new Date(Number(request.parameters.end) * 1000));
var result = {
available: events.length == 0
};
return ContentService.createTextOutput(JSON.stringify(result))
.setMimeType(ContentService.MimeType.JSON);
}
一旦我在浏览器上打开以下网址:
https://script.google.com/macros/s/AKfycbwNGgAO-p4TrbKLdGj_blwm5nI9nD5i_0EtlnS42-PuVsrxrM3Ovvwfdw/exec?end=1325439000&start=1325437200
我得到正确的回应:
{"available":true}
我正在尝试通过 Go 调用电话:
package main

import (
"fmt"
"io/ioutil"
"log"
"net/http"
"net/url"
)

func main() {
site := "https://script.google.com/macros/s/AKfycbwNGgAO-p4TrbKLdGj_blwm5nI9nD5i_0EtlnS42-PuVsrxrM3Ovvwfdw/exec"
base, err := url.Parse(site)
if err != nil {
return
}

// Path params
// base.Path += "this will get automatically encoded"

// Query params
params := url.Values{}

params.Add("start", "1325437200")
params.Add("end", "1325439000")
base.RawQuery = params.Encode()

fmt.Printf("Encoded URL is %q\n", base.String())

// make a sample HTTP GET request
res, err := http.Get(base.String())
// check for response error
if err != nil {
log.Fatal(err)
}

// read all response body
data, _ := ioutil.ReadAll(res.Body)

// close response body
res.Body.Close()

// print `data` as a string
fmt.Printf("%s\n", data)
}
但是我没有得到相同的输出,并且得到很长的文本看起来就像用多种语言提取谷歌登录屏幕(不管输出是什么,这不是预期的),我希望输出是一样的我在浏览器上,即
{"available":true}

最佳答案

当我询问 Execute as: 的设置时和 Who has access:在您的网络应用程序中,我确认在您的设置中,Execute as:Who has access:MeAny one with google account , 分别。
在这种情况下,当您作为 Web 应用程序的所有者使用您的脚本访问您的 Web 应用程序时,需要将访问 token 包含到请求 header 中。但是当我看到你的 golang 脚本时,似乎访问 token 没有用于请求 header 。并且,当非 Web Apps 所有者的用户访问 Web Apps 时,需要使用访问 token 并与用户共享 Web Apps 的 Google Apps Script 项目。
我担心这些可能是您的问题的原因。
如果你想测试对 Web Apps 的请求,我推荐使用 Anyone with Google account: Me 的设置。和 Who has access: Anyone .这样,脚本就可以在不使用访问 token 的情况下工作。此外,非 Web 应用程序所有者的用户可以访问 Web 应用程序,而无需使用访问 token 和共享 GAS 项目。
引用:

  • Taking advantage of Web Apps with Google Apps Script
  • 关于go - 调用 Google Apps 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66272533/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com