如何使用php在google drive中创建电子表格并安装附加组件或将应用程序脚本附加到电子表格

如何使用php在google drive中创建电子表格并安装附加组件或将应用程序脚本附加到电子表格,php,google-apps-script,web-applications,google-drive-api,google-sheets-api,Php,Google Apps Script,Web Applications,Google Drive Api,Google Sheets Api,我正在创建一个网站,该网站需要在google drive中创建一个电子表格,并在点击按钮后将一个工作表插件安装到创建的电子表格中 我能够使用下面的代码创建电子表格 // $client is the Google_Client() object with required properties $service = new Google_Service_Sheets($client); $spreadsheet = new Google_Service_Sheets_Spreadsheet([

我正在创建一个网站,该网站需要在google drive中创建一个电子表格,并在点击按钮后将一个工作表插件安装到创建的电子表格中

我能够使用下面的代码创建电子表格

// $client is the Google_Client() object with required properties
$service = new Google_Service_Sheets($client);

$spreadsheet = new Google_Service_Sheets_Spreadsheet([
    'properties' => [
        'title' => 'Spreadsheet Title'
    ]
]);

$spreadsheet = $service->spreadsheets->create($spreadsheet, [
    'fields' => 'spreadsheetId'
]);
我可以知道是否有方法通过PHP安装附加组件或将应用程序脚本附加到创建的电子表格中吗

如果无法执行上述操作,是否可以将已在我的google drive中安装了附加组件的电子表格复制到用户的google drive

谢谢,

区分加载项和绑定脚本很重要
  • 附加组件。“如果两个人在一个文档上协作,其中一人使用附加组件,则该附加组件将为一个用户安装,并为该文档启用。”
这意味着如果您使用加载项并与共享您的文档 其他用户,这些用户将能够在 您与他们共享的特定文档。但是,如果您复制 将此文档发送到用户的驱动器,并且此副本仅由用户使用 用户,但不是您-用户可以使用附加组件,除非 手动安装它

  • 将绑定脚本附加到文档。如果你从 将您的驱动器复制到用户的驱动器-文档将被复制 包括绑定脚本
要将包含绑定脚本的文件复制到用户的驱动器,您可以创建一个包含内容的

function doGet() {
  DriveApp.getFileById('INSERT ID OF THE FILE ON YOUR DRIVE').makeCopy();
}
并将其部署为“访问web应用程序的用户”和“有权访问该应用程序的用户”->“任何人”

请记住,仅当您将文件指定给 驱动器查看权限,即您需要与您的 域或公共用户-取决于您的意图。最后 步骤:复制Web应用程序的URL,并以这种方式设置网站 当用户单击按钮时重定向到Web应用程序URL的方式

  • 您还可以将脚本附加到任何已创建或现有文档,而不是使用应用程序脚本复制文件。为此,您可以使用Diego建议的。您需要按照中的示例创建一个空脚本项目,但请确保指定要将脚本绑定到的文件的
    parentId
    。随后,使用

使用应用程序脚本API Hi,@ziganotschka谢谢您的回答,它完全符合我的要求。但由于以下错误,用户未启用应用程序脚本API。通过访问来启用它https://script.google.com/home/usersettings 然后重试。。有没有一种方法可以在获得授权时启用它,或者有其他方法可以通过编程方式为用户启用它?我可以想到的一种解决方案是使用一个服务帐户来模拟用户。但是,这仅适用于您所在域的USR。您是否可以向我发送任何链接或任何资源来进一步解释此主题?我不理解实现。这是谷歌的官方文档:基本上,你可以在你的管理控制台中启用域范围的授权,然后你可以编写一个脚本,通过一个模拟域用户的服务帐户来运行一个函数,例如,像域用户一样操作并访问他的数据。由于脚本可以由您运行,因此用户无需启用脚本API—只需您自己。