【问题标题】:Sending HTTP Request to call Google Sheet API to edit a cell发送 HTTP 请求以调用 Google Sheet API 来编辑单元格
【发布时间】:2015-11-22 05:19:51
【问题描述】:

我想制作一个网页,该网页从 URL 查询中获取数据并将其写入 Google 电子表格。我尝试的是制作一个 Atom.xml 并将其链接到我的 HTML 代码中并使用

     XMLHttpRequest().setRequestHeader("Content-type","application/atom+xml")

在我的 JavaScript 代码中。

我的问题很简单,我应该如何使用 Google 要求我在此 PUT 请求的“正文”中包含的 <entry>...</entry> 发送此请求?

我已阅读 Sheet API 文档并在 Google 上搜索了很长时间,但没有结果。我不知道如何为 PUT 请求提供一个“正文”。

我该怎么做?

【问题讨论】:

    标签: javascript google-api google-sheets google-spreadsheet-api


    【解决方案1】:

    我不熟悉 XMLHttpRequest。我承认这不是您要寻找的答案;但是,我认为这对可能偶然发现此问题的任何人都有用,并且可能对您有用。

    人们通常在他们的网站上使用框架,例如 jquery 或 angularjs。

    https://jquery.com/ 在 jquery 中,您可以使用以下正文执行 put 请求:

    var xmldata = '<some xml... >';
    
    $.ajax({
        method: "PUT",
        url: "some_url",
        contentType: 'application/atom+xml'
        data: xmldata
    })
    .done(function( msg ) {
        alert( "Data Saved: " + msg );
    })
    .fail(function(e){
        console.log("There was a problem!");
        console.log(e);
    })
    .always(function(d) {
        console.log("This will always happen!");
    });
    

    http://api.jquery.com/jquery.ajax/

    考虑使用这样的工具,因为它使您的代码更简单、更易于阅读。最重要的是:它可以节省您的时间和精力。

    编辑详细说明 promise 的回调和参数:

    jqXHR.done(function(data, textStatus, jqXHR) {});替代 构造成功回调选项, .done() 方法替换 已弃用的 jqXHR.success() 方法。请参阅 deferred.done() 了解 实现细节。

    jqXHR.fail(function(jqXHR, textStatus, errorThrown) {});一个 错误回调选项的替代构造,.fail() 方法 替换已弃用的 .error() 方法。请参阅 deferred.fail() 了解 实现细节。

    jqXHR.always(函数(数据|jqXHR, textStatus, jqXHR|errorThrown) { });完整回调选项的替代构造, .always() 方法替换了已弃用的 .complete() 方法。

    发件人:http://api.jquery.com/jquery.ajax/

    【讨论】:

    • 在我的帖子顶部查看我的免责声明,无论谁投了反对票。如果我的帖子有什么不正确的地方,请告诉我。我坚持认为这是有用的信息。
    • 好的,但是“身体”呢? 标签?
    • @DavidXu 嗯...是的,我传递到 ajax 请求对象的数据字段中的 'xmldata' 变量应该是一个 xml 字符串,例如 'blah' 之类的.
    • 我试过了,但没用 :( 什么都没发生,.done 函数永远不会被执行。为什么?我确实导入了 jQuery 库。我把入口标签放在 xmldata 中。
    • @DavidXu 抱歉,我应该在原始答案中包含失败并始终包含在内。试试这个,看看打印出来的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多