2013-05-27 128 views
3

我试图将文件上传到我的谷歌云端硬盘文件的空间,而且我用下面的代码:身份验证问题与谷歌云端硬盘API简单的上传

var httpRequest = new XMLHttpRequest(); 
var url_goto = "https://www.googleapis.com/upload/drive/v2/files?uploadType=media"; 

httpRequest.onreadystatechange = function() { 
    if (httpRequest.readyState==4 && httpRequest.status==200) { 
     Firebug.Console.log(httpRequest.responseText); 

    } else if (httpRequest.readyState==4 && httpRequest.status==401) { 
     Firebug.Console.log(httpRequest.responseText); 
    } else { 
     Firebug.Console.log('Other status: ' + httpRequest.readyState + ', ' + httpRequest.status); 
    } 

}; 
var s = 'Test string'; 
httpRequest.open('POST', url_goto, true); 
httpRequest.setRequestHeader('Content-Type', 'text/plain'); 
httpRequest.setRequestHeader('Content-Length', s.length); 
httpRequest.setRequestHeader('Authorization', 'MY_AUTH_KEY'); 
httpRequest.send(s); 

的问题是,我已经下面的输出:

"Other status: 1, 0" 
"Other status: 1, 0" 
"Other status: 2, 401" 
"Other status: 3, 401" 

...并抛出一个异常:

"{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "authError", 
    "message": "Invalid Credentials", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Invalid Credentials" 
} 
}" 

任何人可以帮助我了解为什么验证不起作用? 我正在使用从我的Google API控制台中检索的API密钥,在简单API访问部分下。

谢谢!

+0

没有 - @ Shirs答案解决你的问题? –

回答

3

如果您正在使用的oauth2令牌则必须指定熊在授权身份验证令牌沿头像

httpRequest.setRequestHeader(“授权”,“承载MY_AUTH_KEY”);

相关问题