Google文档API:无法设置文档标题

问题描述:

我正尝试使用Node和Google Docs REST API上传文件。如果我不包含元数据,我可以很好地上传文件,但它始终会以“无标题”的形式上传。Google文档API:无法设置文档标题

但是当我包括元数据,我得到送我的原子数据,并试图继续与文件上传后,出现以下错误:

ParseException的 - 内容是不是在序言

允许这是我第一次请求创建的上载会话,并得到一个可恢复的媒体链接

var meta = '<?xml version="1.0" encoding="UTF-8"?>' 
    meta+= '<entry xmlns="http://www.w3.org/2005/Atom" xmlns:docs="http://schemas.google.com/docs/2007">' 
    meta+= '<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/docs/2007#document"/>' 
    meta+= '<title>Test</title></entry>' 

var options = { 
    host: 'docs.google.com', 
    path: '/feeds/upload/create-session/default/private/full', 
    method: 'POST', 
    headers: { 
     'Host' : 'docs.google.com', 
     'Content-Length' : meta.length, 
     'Content-Type': 'application/atom+xml', 
     'GData-Version' : 3, 
     'Authorization' : 'GoogleLogin auth=' + authToken, 
     'X-Upload-Content-Type' : 'application/msword', 
     'X-Upload-Content-Length' : 31232 
    } 
} 

var req = https.request(options, function (res) { 
    // make 2nd request 

}); 

req.end(meta); 

这是我的第二个请求是这样获得可恢复媒体链接

var options = { 
    host: 'docs.google.com', 
    path: resumableMediaLink, 
    method: 'PUT', 
    headers: { 
     'Content-Length': data.length, 
     'Content-Type': 'application/msword', 
     'Content-Range': 'bytes 0-' + (data.length-1) +'/'+ data.length 
    } 
} 

var req = https.request(options, function (res) { 
    res.on('data', function (chunk) { 
     // ... 
    }); 
}); 

req.write(data); 
req.end(); 

看来我不正确地发送原子数据。任何我可能做错的想法?

我想清楚我做错了什么。

我需要在第一个POST请求中设置'Slug'头部以启动可恢复的会话。

我已经在以下要求。