2 回答
TA贡献1860条经验 获得超8个赞
您想使用 php 访问 Web 应用程序。
您想知道脚本运行时没有显示任何值的原因。
如果我的理解是正确的,这个答案怎么样?请认为这只是几个可能的答案之一。
您的问题原因:
在您的 Web 应用程序中,Execute the app as:
和Who has access to the app:
分别设置为User accessing the web app
和Anyone
。在这种情况下,当您访问 Web 应用程序时,需要使用您的访问令牌。因此,在您的脚本中,会发生错误。而是curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true)
被使用。这样,不显示任何值。删除时curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true)
,在您的脚本中,重定向页面将作为 HTML 数据检索。
为了避免这个问题,下面的修改如何?
模式一:
在您的脚本中,似乎没有使用访问令牌。在这种情况下,请将Execute the app as:
和分别设置Who has access to the app:
为Me
和。Anyone, even anonymous
在这种情况下,不需要使用访问令牌。
为此,请将以下脚本添加到您的脚本中以访问 Web 应用程序。
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true);
通过上述流程,您可以使用 php 脚本访问 Web 应用程序并从 Web 应用程序中检索值。
模式二:
如果要访问分别以Execute the app as:
和Who has access to the app:
asUser accessing the web app
和部署的 Web 应用程序Anyone
,则需要使用访问令牌。
为此,请将以下脚本添加到您的脚本中以访问 Web 应用程序。
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true);
$header = ['Authorization: Bearer ###your access token###'];
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $header);
笔记:
在上述情况下,如果您作为 Web Apps 的所有者,在这种情况下让其他用户访问您的 Web Apps,请与用户共享部署 Web Apps 的 GAS 项目。这样,用户可以使用用户的访问令牌访问 Web 应用程序。
笔记:
当您在 Google Apps Script 端修改 Web Apps 的脚本时,请将 Web Apps 重新部署为新版本。这样,最新的脚本就会反映到 Web 应用程序中。请注意这一点。
TA贡献2041条经验 获得超4个赞
我尝试在隐身窗口中访问 Apps 脚本 URL,它会重定向到 Google 登录提示。
当您使用该选项的User accessing the web app
设置Execute the app as
时,毫无疑问,该脚本将以访问它的用户身份运行。因此,使用您当前的设置,用户需要登录到 Google 帐户才能成功执行应用程序。
如果您将Execute the app as
选项切换到,则会为该选项提供Me (<you address>)
一个附加选项 ,。这是启用对应用程序的真正匿名访问的唯一方法。Anyone, even anonymous
Who has access to this app
有关更多详细信息,请参阅权限文档。
- 2 回答
- 0 关注
- 128 浏览
添加回答
举报