我已经获得了 Bearer Token,现在我该如何理解它,然后我该如何使用它
I've gotten the Bearer Token, now how do I understand it, and how do I then use it
我的总体目标是使用 API 在 google 站点页面中填充学习空间的当前预订。该服务使用 oath2 和授权:Bearer ACCESSTOKEN。我在 google 站点中嵌入 Ajax - jQuery 来执行此操作。
到目前为止,我可以使用授权端点取回令牌并将其发送到 console.log。但是我如何将它存储到一个变量中,然后我可以将它与我的下一个请求一起发送到实际的数据端点?显然,我对此完全陌生,我被卡住了。
这是有效的方法
$.ajax
({
type: "POST",
url: "my.url/oauth/token",
data:
{client_id:"715",
client_secret:"secret",
grant_type:"client_credentials"},
success: function(data){
console.log(data)},
});
然后控制台会显示如下数据:
"\"access_token\":\"78098453jkdg0ehgjf09etuca117bed9430740a08ac2b3e97c3d0\",\"expires_in\":3600,\"token_type\":\"Bearer\",\"scope\":\"rm_r sp_r\"}"
我这辈子都想不出如何将其放入变量而不是控制台。我试过声明一个变量并存储它,我试过 sessionStorage.setItem。我的下一步是(我认为)将该响应存储到变量 ACCESSTOKEN 中,然后在我的下一个请求中使用它。
$.ajax
({
type: "GET",
url: "myurl.com/endpoint",
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ACCESSTOKEN');
},
success: function(data) {console.log(data)
},
});
到那时,我需要想办法再次从控制台中取出它,并将数据输出到 table 或其他东西中。
我们将不胜感激任何帮助!
公里
尝试像这里这样解析它:
let accessToken;
$.ajax({
type: 'GET',
url: 'myurl.com/endpoint',
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ACCESSTOKEN');
},
success: function(data) {
const jsonRegexp = /(")\w+:\s?([\w\d]+|[\w\s\d]+)/g;
const jsonPares = data.match(jsonRegexp);
const parsedJSON = {};
if (jsonPares?.length) {
for (let i = 0; i < jsonPares.length; i++) {
jsonPares[i] = jsonPares[i].replace(/"/g, '');
const splitted = jsonPares[i].split(/:\s?/g);
if (splitted?.length === 2) {
parsedJSON[splitted[0]] = splitted[1];
}
}
}
accessToken = parsedJSON?.['access_token'];
},
});
我的总体目标是使用 API 在 google 站点页面中填充学习空间的当前预订。该服务使用 oath2 和授权:Bearer ACCESSTOKEN。我在 google 站点中嵌入 Ajax - jQuery 来执行此操作。
到目前为止,我可以使用授权端点取回令牌并将其发送到 console.log。但是我如何将它存储到一个变量中,然后我可以将它与我的下一个请求一起发送到实际的数据端点?显然,我对此完全陌生,我被卡住了。
这是有效的方法
$.ajax
({
type: "POST",
url: "my.url/oauth/token",
data:
{client_id:"715",
client_secret:"secret",
grant_type:"client_credentials"},
success: function(data){
console.log(data)},
});
然后控制台会显示如下数据:
"\"access_token\":\"78098453jkdg0ehgjf09etuca117bed9430740a08ac2b3e97c3d0\",\"expires_in\":3600,\"token_type\":\"Bearer\",\"scope\":\"rm_r sp_r\"}"
我这辈子都想不出如何将其放入变量而不是控制台。我试过声明一个变量并存储它,我试过 sessionStorage.setItem。我的下一步是(我认为)将该响应存储到变量 ACCESSTOKEN 中,然后在我的下一个请求中使用它。
$.ajax
({
type: "GET",
url: "myurl.com/endpoint",
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ACCESSTOKEN');
},
success: function(data) {console.log(data)
},
});
到那时,我需要想办法再次从控制台中取出它,并将数据输出到 table 或其他东西中。
我们将不胜感激任何帮助! 公里
尝试像这里这样解析它:
let accessToken;
$.ajax({
type: 'GET',
url: 'myurl.com/endpoint',
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ACCESSTOKEN');
},
success: function(data) {
const jsonRegexp = /(")\w+:\s?([\w\d]+|[\w\s\d]+)/g;
const jsonPares = data.match(jsonRegexp);
const parsedJSON = {};
if (jsonPares?.length) {
for (let i = 0; i < jsonPares.length; i++) {
jsonPares[i] = jsonPares[i].replace(/"/g, '');
const splitted = jsonPares[i].split(/:\s?/g);
if (splitted?.length === 2) {
parsedJSON[splitted[0]] = splitted[1];
}
}
}
accessToken = parsedJSON?.['access_token'];
},
});