2012-08-05 49 views
0

我正在使用Javascript連接到Skydrive API。我的第一步是向發起人授予oAuth許可。我所做的是將uri設置回我自己的網站。每當我連接到服務,它會打開我的回調uri(在取得範圍&權限後)。然後我有我的回調URI作爲用於Javascript的Skydrive API中的回調URL

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

你要問我們什麼了? – 2012-08-05 03:19:02

+0

我以爲我很清楚..再次添加幾行@底部..抱歉的混淆 – CodeMonkey 2012-08-05 03:34:42

+0

你能解釋你從JS腳本獲取令牌的困難嗎?對不起,如果它已經在你的代碼中,我看不到它。 – Tommi 2013-04-17 12:13:55

回答

1

爲了得到當前訪問令牌,你可以使用

WL.getSession().access_token