我正在使用 Javascript 连接到 Skydrive API。我的第一步是向发起人授予 oAuth 权限。我所做的是将 uri 回调到我自己的网站。每当我连接到服务时,它都会打开我的回调 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 中获取访问令牌。我只是想知道我怎样才能得到它。(我正在使用完整的客户端编码)