我希望通过Execution API运行Google App脚本来自动化一些人力资源工作。在不了解细节的情况下,我想将员工评估数据作为参数传递到App脚本中。然后,该脚本将使用此数据编译"员工评论" GDoc。
到目前为止,我使用Execution API运行了一个简单的测试App脚本。例如,我可以成功运行一个记录字符串或与电子表格交互的简单函数。到现在为止还挺好。
但是在尝试写入GDoc时遇到了问题(不幸的是,这对我的任务不可或缺)。这是我的配对脚本:
// TODO: Eventually, we'll pass these variables as arguments
var docId = "MY-DOC-ID";
// Find the team member review doc
var doc = DocumentApp.openById(docId);
// Replace placeholder text
var docBody = doc.getActiveSection();
docBody.replaceText('{{DATE}}', "Date set by App Script!!!");
doc.saveAndClose();
当我按下" Run" App Scripts Web UI中的按钮。但是当我尝试通过Execution API运行时,我得到:
{
"error": "unauthorized_client",
"error_description": "Unauthorized client or scope in request."
}
显然我还没有提供正确的范围?按照文档,我可以在项目属性>中找到必要的范围。范围说:
但是当我尝试添加该范围时,它无法正常工作。正如我所说的其他范围(例如https://www.googleapis.com/auth/spreadsheets)工作正常。也许不再支持auth/documents
范围,或者他们的API中存在错误?
答案 0 :(得分:0)
卫生署。我找到了解决问题的方法。虽然这是一个愚蠢的错误,但它仍然值得发布,因为它可能会在未来挽救其他人的混乱。
首先,关于我的设置的一些背景。我使用Service Account对Google Client API进行身份验证。此外,正如使用服务帐户设置时常见的那样,我冒充我们组织内的用户(特别是我自己的帐户)。
我失去的一步(后见之明)...
所以上课:确保您模拟的帐户已授予您脚本所需的所有范围的访问权限。