Google drive api Google Drive API调用在Fusiontables上插入公共共享权限导致内部错误

Google drive api Google Drive API调用在Fusiontables上插入公共共享权限导致内部错误,google-drive-api,google-fusion-tables,Google Drive Api,Google Fusion Tables,我一直在尝试使用GoogleDriveAPI使Fusionable公开可读,但未能使其正常工作。我可以使用OAuth 2.0游乐场为其他Google Drive文档插入公共共享权限,但对于Fusiontables,我会收到HTTP 500错误“内部错误”。请注意,我已尝试将“DriveAPIv2”和“FusionTablesAPIv1”下可用的所有作用域包括在内 我知道谷歌不再开发和支持Fusiontables,但我想知道是否有人找到了一个解决方法,让他们能够解决这个问题?我也没有尝试过API的

我一直在尝试使用GoogleDriveAPI使Fusionable公开可读,但未能使其正常工作。我可以使用OAuth 2.0游乐场为其他Google Drive文档插入公共共享权限,但对于Fusiontables,我会收到HTTP 500错误“内部错误”。请注意,我已尝试将“DriveAPIv2”和“FusionTablesAPIv1”下可用的所有作用域包括在内

我知道谷歌不再开发和支持Fusiontables,但我想知道是否有人找到了一个解决方法,让他们能够解决这个问题?我也没有尝试过API的旧版/弃用版

下面是OAuth Playerd针对可融合权限插入(HTTP 500)和文档权限插入(HTTP 200)的实际API请求格式和响应。请求之间的唯一区别是请求URI中的可融合\u id或文档\u id:

请求:

POST /drive/v2/files/<fusiontable_id or document_id>/permissions HTTP/1.1
Host: www.googleapis.com
Content-length: 33
Content-type: application/json
Authorization: Bearer <access_token>

{"role":"reader","type":"anyone"}
文件回应:

HTTP/1.1 200 OK
Content-length: 281
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Vary: Origin,Referer,X-Origin
Server: GSE
Etag: "M4l5RvCt2StP2jOGfgyJPGdTZTc/dgFZz37LrQjIXplUkmnh3VtemzQ"
Pragma: no-cache
Cache-control: no-cache, no-store, max-age=0, must-revalidate
Date: Wed, 05 Nov 2014 15:35:56 GMT
X-frame-options: SAMEORIGIN
Content-type: application/json; charset=UTF-8
{
  "kind": "drive#permission", 
  "etag": "\"M4l5RvCt2StP2jOGfgyJPGdTZTc/dgFZz37LrQjIXplUkmnh3VtemzQ\"", 
  "role": "reader", 
  "type": "anyone", 
  "id": "anyone", 
  "selfLink": "https://www.googleapis.com/drive/v2/files/<document_id>/permissions/anyone"
}
HTTP/1.1200正常
内容长度:281
X-xss-protection:1;模式=块
X-content-type-options:nosniff
过期时间:1990年1月1日星期五00:00:00 GMT
变化:原点、参考点、X原点
伺服器:GSE
Etag:“M4L5RVCT2STP2JOFGYJPGDTZTC/dgFZz37LrQjIXplUkmnh3VtemzQ”
Pragma:没有缓存
缓存控制:无缓存,无存储,最大年龄=0,必须重新验证
日期:2014年11月5日星期三15:35:56 GMT
X-frame-options:SAMEORIGIN
内容类型:application/json;字符集=UTF-8
{
“种类”:“驾驶许可证”,
“etag”:“M4l5RvCt2StP2jOGfgyJPGdTZTc/DGFZZZ37LRQJIXPLUKMNH3VTEMZQ\”,
“角色”:“读者”,
“类型”:“任何人”,
“id”:“任何人”,
“自链接”:https://www.googleapis.com/drive/v2/files//permissions/anyone"
}

这似乎是由于驱动器API中的错误造成的。我已经找到了内部错误,并向工程团队提出了问题。目前还没有已知的解决方法。

如果您对临时解决方法没有意见,插入Fusion表公共共享权限仍然适用于旧的基于XML的GDataAPI。你可以查看它,不过要注意页面顶部的红色横幅,上面写着“谷歌文档列表API第3版的弃用期即将结束”。2015年4月20日,我们将停止该API的服务。”

因此,如果您现在需要解决这个问题,那么将一直持续到4月份,然后让我们希望驱动器API错误在此之前得到修复…

我有一个好消息

我收到了一封来自谷歌表的反馈邮件。他们说现在应该可以用了

我在谷歌客户端JSAPI上的代码运行良好

var setAccess = function setAccessF() {
    gapi.client.request({
        path : '/drive/v2/files/{fileID}/permissions',
        method : 'post',
        body : {
            'value' : 'anyone',
            'type' : 'anyone',
            'role' : 'reader'
        }
    }).then(opt_onFulfilled, opt_onRejected);
}

function opt_onRejected(e) {
    console.log(e)
}

function opt_onFulfilled(e) {
    console.log(e)
}

就我个人而言,我试图向其中添加权限的文档已变得无效。这也可能是其他人的问题。

要澄清:“谷歌不再开发和支持Fusionables”不是这样,我很想听听这个想法来自哪里:-)如果你把这个问题发送给Google Tables-feedback@google.com使用实际的融合表文档ID,我们可以查看日志,找出问题所在。感谢Rod,我会按照您的建议进行跟进。我认为Fusion Tables的开发已经停止,因为它不再受到监控,而且因为它似乎已经足够古老和重要,如果Fusion Tables仍在开发中,它将被修复。我可能应该改写那里的“未被监控”字眼,以澄清FT是活动的,只是不在该列表中。至于电子表格导入的问题,在这段时间内,所有驱动器应用程序都有一个普遍的问题,症状相同,但原因不同。电子表格导入现在是稳定的。算上我非常放心,我们有一个围绕Fusion Tables构建的高流量应用程序,如果它采用Google Reader的方式,将会有一个严重的问题。我在我的一个GitHub项目中添加了解决方法,所以你可以看看那里的代码:第165行的方法,这是Objective-C,虽然大部分只是形成一个易于阅读的POST请求。几个月后,看起来内部错误仍然存在?现在基于XML的GDataAPI已经关闭,似乎确实没有解决办法……我没有使用Google客户端JS API,但我确认我现在可以自动创建可融合的公共服务。谢谢
var setAccess = function setAccessF() {
    gapi.client.request({
        path : '/drive/v2/files/{fileID}/permissions',
        method : 'post',
        body : {
            'value' : 'anyone',
            'type' : 'anyone',
            'role' : 'reader'
        }
    }).then(opt_onFulfilled, opt_onRejected);
}

function opt_onRejected(e) {
    console.log(e)
}

function opt_onFulfilled(e) {
    console.log(e)
}