通过jQuery访问谷歌驱动器作为JSON

时间:2014-12-19 17:34:22

标签: jquery ajax json google-drive-api

我尝试将Google云端硬盘用作托管JSON文件的测试平台。这允许我将我的客户端文件交给我的设计师同事,而无需设置WebApi控制器或nodeJS服务器。

我尝试在我的JavaScript中调用它:

    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: "application/json",
        url: "https://drive.google.com/file/d/0B-6bXDnuW6gPT3NUQ1VSQW12Z1k/view?usp=sharing"
    })
  .done(function( data ) {
    // reference data here
    alert( data );
  });

这是我试图回来的数据:

[{
            "Name": "Soren Kierkegaard",
            "Timestamp": "1301190400",
            "Comment": "Life is understood backwards, but it is lived forwards.",
            "StaticURL": "./img/some_guy2.png"
        }]

但我回来了:

  

XMLHttpRequest无法加载   https://drive.google.com/file/d/0B-6bXDnuW6gPT3NUQ1VSQW12Z1k/view?usp=sharing。   No' Access-Control-Allow-Origin'标题出现在请求的上   资源。起源' null'因此不允许访问。

这让我怀疑浏览器(或者jQuery?)是否希望响应头包含一个' Access-Control-Allow-Origin'键/值对。

除非我可以在JSON中将其添加为键/值对?这会为我的数据添加一个外层,但我应该能够解析客户端JavaScript中的那个OK。

我尝试了几种GET / POST和数据类型的组合。 Jsonp似乎建议我必须在Google上设置脚本,而且我没有看到在Google上设置jsonp的简单方法,或者要求Google在其响应标头中添加内容。

类似的StackExchange帖子通过不同的平台和不同的结果:JSON not parsed

2 个答案:

答案 0 :(得分:3)

通过使用myjson.com作为主机提供商,我能够解决这个问题。

老实说,我不明白静态json文件如何造成安全隐患。动态json -maybe-但如果它来自谷歌驱动器上的文件它不会动态创建,对吧?

Google Drive API需要阻止凭据箍跳过......这不利于快速原型设置或设置暂存环境。

答案 1 :(得分:0)

从谷歌驱动器获取更改URL所需的文件内容,使用googledrive / host链接,如下所示: 使用链接“https://googledrive.com/host/0B-6bXDnuW6gPT3NUQ1VSQW12Z1k