2017-07-05 46 views
0

我正在爲我正在構建的應用程序調用Google Tasks API。當我使用Google的客戶端庫進行調用時,它會成功並返回所期望的內容。如何從JavaScript調用Google Tasks API?

function getAllTasks() { 
gapi.client.tasks.tasks.list({ 
    tasklist: 'MDIxODc1MzEwNzc4MzMxNDU2MTU6MDow' 
}).then(function (response) { 
    console.log(response); 
    var arr = response.result.items; 
    console.log(arr); 
    for(var j=0;j<arr.length;j++){ 
     console.log(arr[j].title); 
    } 
}) 
} 

但是當我做使用jQuery一樣,我得到404的響應主體文本「登錄科目編號」。

function getAllTasksJquery() { 
$.get("https://content.googleapis.com/tasks/v1/lists/MDIxODc1MzEwNzc4MzMxNDU2MTU6MDow/tasks",function (data,status) { 
    console.log(data,status); 
    var arr = data.result.items; 
    console.log(arr); 
    for(var j=0;j<arr.length;j++) { 
     console.log(arr[j].title); 
    } 
}); 

} 

有人能告訴我我做錯了什麼嗎?

回答

0

經過幾個小時的搜索,我終於明白了這一點。自從我使用Google的JS客戶端庫以來,我幾乎忽略了必須通過每個API調用的oauth2 access_token的事實。只有這樣API纔會知道該帳戶的訪問權限。 更具體地說,在製作API請求時,在標頭中傳遞access_token。這裏是一個jQuery代碼段用於相同的:

$.get(`https://www.googleapis.com/tasks/v1/users/@me/lists`,{access_token: AccessToken}, function (data,status) { 
    console.log(status,data); 
}); 

希望它可以幫助別人...

相關問題