用于Javascript的Skydrive API中的回调URL

时间:2012-08-05 03:13:26

标签: javascript api onedrive

我正在使用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获取访问令牌..我只是想知道我怎么能得到它。 (我正在使用完整的客户端编码)

1 个答案:

答案 0 :(得分:1)

要获取当前访问令牌,您可以使用

WL.getSession().access_token