Google Apps脚本中的Google Docs API作为外部API(不作为扩展服务)

时间:2019-02-16 15:51:19

标签: google-apps-script google-docs-api

我正在尝试通过Google Apps脚本使用新的Google Docs API。由于新的API尚不能作为扩展服务使用,因此我尝试使用UrlFetchApp()进行操作,但失败了。

为我在这里的幼稚尝试致歉:

group

我收到以下答复:

df %>% group_by(group) %>% summarise(Value = max(is.na(score)))

有人可以指出正确的方向吗?我可以在其中找到一些文档,了解如何在Google Apps脚本中使用Google Docs API。

1 个答案:

答案 0 :(得分:3)

如果您拥有文档,则无需利用API密钥。此外,您可以使用内置的Basic OAuth令牌,而不使用Bearer身份验证,如下所示:

/**
 * Get `Document` resource object from Google Docs REST API.
 *
 * @param {String} docId - A Google Document Id
 *
 * @return {Document} A Document resource object. 
 */
function getDocumentResouce(docId) {
    return JSON.parse(UrlFetchApp.fetch(
            "https://docs.googleapis.com/v1/documents/" + docId,
            {
                "headers": {
                    "Authorization":"Bearer " + ScriptApp.getOAuthToken()
                }
            }  
        )
    );
}

注意:GETUrlFetchApp.fetch()使用的默认HTTP请求方法,因此您无需在options对象中对其进行定义。


添加

如注释中的Tanaike所述,您需要将相关范围(除了已经启用的范围之外)手动添加到清单JSON中。

首先检查您的项目属性,以通过菜单获取现有范围的列表 File > Project Properties > Scopes 。您需要将这些范围以及相关文档范围之一(listed in the documentation)添加到清单中。

以下链接提供了管理清单和作用域所需的信息:

https://developers.google.com/apps-script/concepts/manifests

https://developers.google.com/apps-script/concepts/scopes