gpt4 book ai didi

php - 如何使用 php 做简单的 google script api

转载 作者:行者123 更新时间:2023-12-02 03:44:31 25 4
gpt4 key购买 nike

我试图弄清楚如何通过 php 的 api 调用 google 脚本。这是我的脚本:

function doGet() {
return ContentService.createTextOutput("hello world!");
}

我可以通过 URL 将其作为 Web 应用程序调用,但我想要完成的任务需要通过 API 调用它。 Google 的文档非常困惑,几乎毫无用处。

这似乎是一项非常简单的任务,但我却一无所获。有谁知道在哪里可以找到简单的分步教程,或者有人可以详细说明完成此操作所需的步骤吗?

更新:所以,我放弃了使用 google API 来访问脚本。我可以使用所有驱动器 api 调用,但似乎无法通过 API 调用我自己的脚本。这是我的最终目标:

用于压缩文件的 Google 脚本:

function doGet(e) {
var fileIds = [];
// hard code a couple of file id's just for simplicity now.
fileIds.push('0BzoYw0RgVVOvU0RqdTFrcGdSSzA');
fileIds.push('0BzoYw0RgVVOvNEJNcWpmSkNxNTA');
return ContentService.createTextOutput(zipping(fileIds));
}

function zipping(fileIds) {
var zipfilename = "sample2.zip";
var blobs = [];
var mimeInf = [];
var accesstoken = ScriptApp.getOAuthToken();
fileIds.forEach(function(e) {
try {
var file = DriveApp.getFileById(e);
var mime = file.getMimeType();
var name = file.getName();
} catch (er) {
return er
}
var blob;
blob = UrlFetchApp.fetch("https://www.googleapis.com/drive/v3/files/" + e + "?alt=media", {
method: "GET",
headers: {"Authorization": "Bearer " + accesstoken},
muteHttpExceptions: true
}).getBlob().setName(name);
blobs.push(blob);
});
var zip = Utilities.zip(blobs, zipfilename);
return DriveApp.createFile(zip).getId(); // return the file id of the new zip file.
}

发布 -> 部署为 Web 应用程序...

选择“新建”

选择“我”

选择“只有我自己”

点击“部署”并根据请求授权访问。

使用curl从命令行调用Web应用程序进行测试:

curl -L https://script.google.com/macros/u/0/s/### script id ###/exec

获取包含错误的 html:“抱歉,此时无法打开文件。”

更改权限,以便任何人都可以执行该应用程序。

同样的错误。即使以同一用户身份在浏览器中输入 url 也会出现相同的错误。

此时我想我必须承认失败并寻找 Google 以外的解决方案。

------------------更新2--------------------

显然错误:

“抱歉,目前无法打开文件。请检查地址并重试。”

我认为这是 Google 的一些奇怪问题。相同的脚本在某些帐户中有效,但在其他帐户中无效。我通过搜索网络看到,其他人随机出现此错误,并且没有明确的解决方案。如果有人知道请告诉我。

-----------------更新3--------------------

此错误是 Google 的一个奇怪问题。显然,某些帐户中的新脚本直到第二天才会出现此错误。我已经多次验证了这一点,因此如果您遇到这种情况,请等待一天并再次尝试执行。好处是,在 Google 最终能够“打开文件”之后,您可以进行任何所需的更改,包括对该项目的其他脚本文件,并且它会立即更新。

但是,新项目必须等到第二天,因此请提前一天预先创建您认为可能需要的任何项目以及额外的项目。

最佳答案

这个示例脚本怎么样?当您部署 Web 应用程序时,请复制并粘贴 URL。请将其用于以下脚本的$url

如何部署 Web 应用程序。

  • 关于脚本编辑器
    • 文件
    • -> 管理版本
    • -> 保存新版本
    • 发布
    • -> 部署为 Web 应用
    • ->“项目版本:”是最新版本或创建为新版本。
    • -> 在“执行应用程序”处,选择“您的帐户”
    • -> 在“谁有权访问该应用程序”中,选择“任何人,甚至匿名”
    • -> 点击“部署”
    • -> 复制“当前网络应用程序 URL”
    • -> 点击“确定”

示例脚本:

<?php
$url = 'https://script.google.com/macros/s/#####/exec';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($curl);
echo $response;
curl_close($curl);
?>

结果:

hello world!

引用文献:

如果我误解了你的问题,我很抱歉。

关于php - 如何使用 php 做简单的 google script api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47255694/

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