2013-05-27 100 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」);

相關問題