Post 我可以在不需要验证的情况下将数据发布到Google Web应用程序吗?

Post 我可以在不需要验证的情况下将数据发布到Google Web应用程序吗?,post,google-apps-script,Post,Google Apps Script,我正在尝试将数据发布到Google Web应用程序,以自动输入一些繁琐的数据。每当我尝试登录时,都会收到回复,要求我登录,该Web应用被部署为任何人都可以访问 我可以在没有身份验证的情况下将数据发布到表单中吗?如果没有,需要什么类型的身份验证 编辑:我收集的快速代码示例: WebClient client = new WebClient(); var keyValue = new NameValueCollection();

我正在尝试将数据发布到Google Web应用程序,以自动输入一些繁琐的数据。每当我尝试登录时,都会收到回复,要求我登录,该Web应用被部署为任何人都可以访问

我可以在没有身份验证的情况下将数据发布到表单中吗?如果没有,需要什么类型的身份验证

编辑:我收集的快速代码示例:

            WebClient client = new WebClient();
            var keyValue = new NameValueCollection();
            keyValue.Add("agentName", "John Doe");
            keyValue.Add("dayOff", "Sunday");
            keyValue.Add("startTime", "8:00 AM");
            Uri uri = new Uri("mywebapp url");
            byte[] response = client.UploadValues(uri, "POST", keyValue);
            string result = Encoding.UTF8.GetString(response);

为了允许任何人执行您的脚本,即使他们没有登录到Google帐户,您需要在“部署为web应用”对话框中使用以下设置:

  • 项目版本:如果有疑问,请选择“新建”以确保您正在部署脚本代码的最新副本
  • 以如下方式执行应用程序:选择“我”。这将确保“甚至匿名”选项可用
  • 谁有权访问该应用程序:选择“任何人,甚至匿名”。(请注意,如果选择“任何人”,则只有登录到Google帐户的用户才能执行您的脚本。)
  • 选择这些选项后,单击“更新”按钮并复制脚本URL。它应该看起来像
    https://script.google.com/a/macros//s//exec
    。此时,未经验证的对脚本URL的GET或POST应该是成功的


    请注意,脚本的执行将计入您的每日应用程序脚本配额。

    您有可以共享的代码吗?文档中提到了支持文章,所以我不明白为什么它不起作用。另外-web应用程序是否设置为按您的要求执行?如果不是,那可能就是问题所在。嘿,Jens,我已经删除了我用来测试这个的方法。这相当简单,创建WebClient,创建Uri,传入NameValueCollection并获取响应。我得到的回复是要求我登录。如果我尝试在浏览器中访问我的Web应用程序,除非我登录到google帐户,否则我无法访问它。这个账户不重要,只要是任何谷歌账户就行了。Web应用程序设置为以我自己的身份执行。我添加了一个快速代码示例。您能否发布您正在使用的应用程序脚本代码(例如
    doGet
    和/或
    doPost
    函数的内容)?您使用的是哪个URL?(应该以
    /exec
    结尾)嗨,kiwidrew,谢谢你的回复。如前所述,我已经部署了web应用程序。但是,我没有选择任何人的选项,即使是匿名的。只有三种选择。只有我自己,我领域内的任何人,或任何人。这是域管理员设置的限制吗?因此您选择了“以:我的身份执行应用程序”,但仍然没有“甚至匿名”选项?我想域管理员可能有办法禁用这个…@douglasg14b啊,好了-你有域限制。你需要和你的管理员谈谈这件事…@JensAstrup,在进一步调查之后,我不确定域管理员是否能阻止这件事。我是一个(免费)谷歌应用程序域名的域名管理员,绝对没有控制这个域名的选项。也许谷歌工作应用程序的付费版本有所不同?@kiwidrew我知道管理员可以将文件访问权限限制在域内的人,这可能会影响脚本?