Skydrive API に接続するために Javascript を使用しています。私の最初のステップは、イニシエーターに oAuth パーミッションを与えることでした。私がしたことは、コールバック uri を自分の Web サイトに設定することでした。サービスに接続するたびに、コールバック 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 からアクセス トークンを取得できるようにする必要があります。それを取得する方法を知りたかっただけです。(私は完全なクライアント側コーディングを使用しています)