我正在尝试使用HTML表单或AJAX将数据发布到附加到Google电子表格的AppsScript上。我得到了应用程序状态,它适用于部署到“任何人,甚至匿名”的应用程序。
但我的目标是创建JS脚本或PHP,它将使用服务帐户对此电子表格进行身份验证和发布数据。
我找不到任何有用的文件或例子。
这是我的代码:[HTML]
<!DOCTYPE html>
<html>
<body>
<form method="post" action="https://script.google.com/a/macros/domainname/s/AKfycbzVVBWfeffKo7OHdhAtjjgri0ouJ5qIkSjQTpsIISw8/exec">
First name:<br>
<input type="text" name="firstname" value="test1">
<br>
Last name:<br>
<input type="text" name="lastname" value="test2">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
[Apps Script]
function doPost(e) {
try {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName("Sheet1");
sheet.getRange(1,1).setValue(JSON.stringify(e.parameters));
}
catch(error) {
Logger.log(e);
}
finally {
return;
}
}
我已经创建了服务帐户并拥有带有clientID,Secrets等的JSON文件。我想我需要以某种方式附加这些数据的POST,但我不知道如何实现这一点,因此Google Apps会对其进行身份验证。
原因在于,出于安全原因,想要此应用的公司无法向拥有该链接的所有人分享文档。
所以我想以某种方式执行我的表单,以便它作为该域内的用户执行。
有人可以帮助处理一些文档URL或某些教程等吗?
最诚挚的问候 马特
答案 0 :(得分:1)
在这种情况下,即使有限制,也没有理由使用服务帐户。
发布应用程序以便像您一样运行,然后所有电子表格调用都将使用您的凭据,而不是使用您的网络应用程序的用户。
此外,它不能在应用程序脚本中使用带有服务帐户的双腿oauth,它只支持三条腿oauth。