我正在使用Javascript连接到Skydrive API。我的第一步是向发起人授予oAuth许可。我做了什么是回电uri到我自己的网站。每当我连接到服务时,它都会打开我的回调uri(在获取范围和权限之后)。然后我把我的回电称为
mydomain.com#accessToken=dsfe23423v{710 chars}
问题是我正在使用纯客户端JS / HTML / HTML%..我无法捕获此访问令牌,我必须手动硬编码才能进一步使用它...你能看到什么问题可能是:
这是我的代码::
<script src="http://js.live.net/v5.0/wl.js" type="text/javascript"></script>
<script type="text/javascript">
var APPLICATION_CLIENT_ID = '0000X00004003C03',
REDIRECT_URL = "http://www.myweb.com";
WL.Event.subscribe("auth.login", onLogin);
WL.init({
client_id: APPLICATION_CLIENT_ID,
redirect_uri: REDIRECT_URL,
scope: 'wl.skydrive_update',
response_type: "token"
});
WL.ui({
name: "signin",
element: "signInButton",
brand: "hotmail",
type: "connect"
});
function greetUser(session) {
var strGreeting = "";
WL.api(
{
path: "me",
method: "GET"
},
function (response) {
if (!response.error) {
strGreeting = "Hi, " + response.first_name + "!"
document.getElementById("greeting").innerHTML = strGreeting;
}
});
}
function onLogin() {
var session = WL.getSession();
if (session) {
greetUser(session);
}
}
var apiURL = "https://apis.live.net/v5.0/me/";
var tokenAuth = "E ----- 3d";
//token is hardcoded above and then further utilized....
var tokenAuthParam = "?access_token=" + tokenAuth;
</script>
<body>
<div id="greeting"></div>
<div id="signInButton"></div>
</body>
问题是我必须硬编码访问令牌,这是不对的。我应该以某种方式能够从回调uri获取访问令牌..我只是想知道我怎么能得到它。 (我正在使用完整的客户端编码)
答案 0 :(得分:1)
要获取当前访问令牌,您可以使用
WL.getSession().access_token