如何从 javascript 调用 Google 任务 API?
How to call Google Tasks API from javascript?
我正在尝试为我 building.When 的应用程序调用 Google 任务 API 我使用 Google 的客户端库进行调用,它成功并且 return 预期的结果。
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 执行相同操作时,我会在响应正文中收到带有文本 "Login Requied" 的 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);
}
});
}
谁能告诉我我做错了什么?
经过几个小时的搜索,我终于弄明白了。因为我使用的是 Google 的 JS 客户端库,所以我几乎忽略了每次 API 调用都必须传递我的 oauth2 access_token
的事实。只有这样 API 才会知道要访问的帐户。
更具体地说,在发出 API 请求时在 header 中传递 access_token
。这是相同的 jQuery 片段:
$.get(`https://www.googleapis.com/tasks/v1/users/@me/lists`,{access_token: AccessToken}, function (data,status) {
console.log(status,data);
});
希望对其他人有所帮助...
我正在尝试为我 building.When 的应用程序调用 Google 任务 API 我使用 Google 的客户端库进行调用,它成功并且 return 预期的结果。
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 执行相同操作时,我会在响应正文中收到带有文本 "Login Requied" 的 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);
}
});
}
谁能告诉我我做错了什么?
经过几个小时的搜索,我终于弄明白了。因为我使用的是 Google 的 JS 客户端库,所以我几乎忽略了每次 API 调用都必须传递我的 oauth2 access_token
的事实。只有这样 API 才会知道要访问的帐户。
更具体地说,在发出 API 请求时在 header 中传递 access_token
。这是相同的 jQuery 片段:
$.get(`https://www.googleapis.com/tasks/v1/users/@me/lists`,{access_token: AccessToken}, function (data,status) {
console.log(status,data);
});
希望对其他人有所帮助...