0

LiveID APIからいくつかの情報を取得しようとしていますが、エラーが発生します。

The provided request does not include an access token. An access token is
required in order to request this resource.

コードは比較的単純です。私はライブラリを含め、nameidentifierWIFから取得したクレームでイニシャライザーを呼び出してから、meパスを要求しています。

エラーメッセージから、アクセストークンを提供できなかったと推測されます...しかし、クレームを正常に取得したので、アプリにはすでにこれがありませんか?

これが私のコードです:

<script src="https://js.live.net/v5.0/wl.js" type="text/javascript"></script>

<script type="text/javascript">
WL.init({ client_id: 'O0UpnnhoiFljBJAtTxhVliu4qtbUWoEVxdgfK7SBR+M=' });
WL.api({ path: "me", method: "GET" }, function (response) {
    // response.error.message
});

* アップデート *

おそらく私はシステムにログインする必要があるので、次のようになりました。

WL.init({ client_id: 'O0UpnnhoiFljBJAtTxhVliu4qtbUWoEVxdgfK7SBR+M=' });
WL.login();
WL.api({ path: "me", method: "GET" }, function (response) {

しかし、同じエラー...

4

1 に答える 1

1

そのため、もう少し複雑でした...どうやら、次の場所でLiveIDシステムを使用してアプリケーションを作成する必要があります。

https://manage.dev.live.com/

サイトからClientIDが提供され、コードは次のようになります。

<script src="https://js.live.net/v5.0/wl.js" type="text/javascript"></script>
<script type="text/javascript">
WL.init({ client_id: '#YOUR-CLIENT-ID-HERE#' });
WL.login({ scope: ["wl.signin"] });
WL.api({ path: "me", method: "GET" }, function (response) {
    alert(response.first_name + ' ' + response.last_name);
});

興味深いことに、どこにでもログインしているので自分がログインしているekkisはどこにも表示されず、今は混乱していますが、LiveIDアカウントだと思ってPassportアカウントを使用していると思います。違いが何であるかはわかりませんが、LiveIDアカウントを構成して、名前と名前がすべて機能するようになりました。

最後の注意点:live.comサイトでアプリを作成するには、リターンURLを提供する必要があります。がWL.login()呼び出されると、ブラウザはユーザーに権限を要求するウィンドウをポップアップします(ユーザーがすでにサインオンしている場合でも)。ユーザーが[OK]をクリックすると、戻りURLがそのウィンドウに読み込まれます。grr ...だから今、あなたはそれがするすべてがウィンドウを閉じるだけである特別なページを持っている必要があります(ここの他の誰かがそれがどのように機能することになっているのか提案できない限り)。

* アップデート *

私が欲しかったのは血まみれの電子メールでした(他のすべてのIPから入手できます)。そうするために:

WL.login({ scope: ["wl.signin", "wl.emails"] });

その後:

WL.api({ path: "me", method: "GET" }, function (response) {
    $('#Auth .SignedIn').html(response.emails.account);
});

アカウントに関連付けられた電子メールアドレスを取得します。利用可能な他の電子メールがあります。http://msdn.microsoft.com/en-us/library/hh243648.aspx#userを参照してください。

于 2011-07-25T06:18:56.447 に答える