有什么方法可以在不通过 JS 库的情况下对 Gmail API 进行 AJAX 调用?
Any way to make AJAX calls to Gmail API without going through JS library?
有关通过 Gmail API 发出 GET 请求以获取用户邮件的简单指南,请参见 here。
但是我们被指示以下列方式执行请求:
function getMessage(userId, messageId, callback) {
var request = gapi.client.gmail.users.messages.get({
'userId': userId,
'id': messageId
});
request.execute(callback);
}
是否可以在客户端使用好的 ol'XMLHttpRequest
对象发出请求?如果是这样,应该将哪些参数传递给调用?
我试过这个:
var getMessages = function() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200)
console.log(xhr.responseText);
}
xhr.open( "GET", "https://www.googleapis.com/gmail/v1/users/me/messages", true );
xhr.send();
}
但我得到了 401,即使在验证之后也是如此。
如 this answer 中所述,您应该将访问令牌作为查询参数传递,名称为 access_token,或者在授权前缀 header 值与 "Bearer",像这样:
xhr.setRequestHeader("authorization", "Bearer " + userToken.access_token);
有关通过 Gmail API 发出 GET 请求以获取用户邮件的简单指南,请参见 here。
但是我们被指示以下列方式执行请求:
function getMessage(userId, messageId, callback) {
var request = gapi.client.gmail.users.messages.get({
'userId': userId,
'id': messageId
});
request.execute(callback);
}
是否可以在客户端使用好的 ol'XMLHttpRequest
对象发出请求?如果是这样,应该将哪些参数传递给调用?
我试过这个:
var getMessages = function() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200)
console.log(xhr.responseText);
}
xhr.open( "GET", "https://www.googleapis.com/gmail/v1/users/me/messages", true );
xhr.send();
}
但我得到了 401,即使在验证之后也是如此。
如 this answer 中所述,您应该将访问令牌作为查询参数传递,名称为 access_token,或者在授权前缀 header 值与 "Bearer",像这样:
xhr.setRequestHeader("authorization", "Bearer " + userToken.access_token);