Google Drive REST API将内容更新为包含横向定位的HTML google-drive-sdk

时间:2016-02-11 13:46:07

标签: api rest google-api google-drive-api httprequest

我开发了一项服务,可以从salesforce更新Google文档的内容。使用google drive rest API。 https://developers.google.com/drive/v2/reference/

这些是我遵循的步骤:

  1. 获取共享文档的ID。 (我称之为模板)

  2. 在云端硬盘上克隆(复制)文档。

  3. 以HTML格式获取该文档的内容并将其保存在字符串变量中。

  4. 替换该字符串变量上的一些单词。

  5. 更新新复制文档的新内容。

  6. 效果很好!但我的问题是,如果模板(步骤1)具有方向格局,当我使用新内容更新文档时(步骤5),方向将更改为纵向。

    以下是我的要求:

    • 要复制文件:

    POST https://www.googleapis.com/drive/v2/files/FILEID/copy

    public String post(String url, String jsonStr) {
        HttpRequest req = createRequest();
        req.setEndpoint(url);
        req.setMethod('POST');
        req.setHeader('Content-Type','application/json');
        req.setBody(jsonStr);
        HttpResponse res = sendRequest(req);
        if (isOK(res)) {
            return res.getBody();
        }
        throw buildResponseException(res);
    }
    
    • 获取HTML内容:

    复制文件后,它返回新创建文件的参数,包括“exportLinks”。所以我得到了“text / html”导出链接。并对该URL进行GET。

    • 更新内容:

    PUT https://www.googleapis.com/upload/drive/v2/files/FILEID?uploadType=media

    public String put(String url, Blob jsonStr) {
         HttpRequest req = createRequest();
         req.setEndpoint(url);
         req.setMethod('PUT');
         req.setHeader(HTTP_HEADER_CONTENT_TYPE, 'text/html');
         req.setHeader(HTTP_HEADER_CONTENT_LENGTH, String.valueOf(jsonStr.size()));
         req.setBodyAsBlob(jsonStr);
         HttpResponse res = sendRequest(req);
         if (isOK(res)) {
             return res.getBody();
         }
         throw buildResponseException(res); }
    

    我很确定问题是在更新内容之后但我还没找到原因。此外,我使用了API的v3并且行为相同。

0 个答案:

没有答案