Question

Je suis en train de récupérer des informations de l'API LiveID mais je reçois l'erreur:

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

le code est relativement simple; Je suis notamment la bibliothèque, en appelant la initialiseur à la demande de nameidentifier que je reçois de WIF puis demander la me chemin.

du message d'erreur que je conjecturer que je a omis de fournir un jeton d'accès ... mais ne mon application cette déjà depuis que je récupérai avec succès la demande?

voici mon code:

<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
});

* Mise à jour *

il me est apparu que j'ai besoin peut-être d'ouvrir une session dans le système, donc j'ai maintenant:

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

mais même erreur ...

Était-ce utile?

La solution

il était donc un peu plus compliqué ... apparemment il faut créer une application avec le système LiveID à:

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

le site vous donne un ClientID, puis les besoins de code pour ressembler à ceci:

<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);
});

Fait intéressant, le ekkis Je me vois connecté comme partout ne figure nulle part et je suis confus maintenant, mais je pense que je l'ai utilisé un compte Passport, pensant qu'il était un compte LiveID . Je ne suis pas sûr que je comprends ce que la différence est, mais maintenant que je l'ai configuré mon compte LiveID d'avoir un premier / nom tout cela fonctionne.

une note finale: la création de l'application sur le site live.com a besoin d'un pour fournir une URL de retour. lorsque le WL.login() est appelé, le navigateur affiche une fenêtre demandant à l'utilisateur des autorisations (même si il / elle a déjà signé). Lorsque l'utilisateur clique sur OK, l'URL de retour est chargé dans cette fenêtre. grr ... maintenant, vous devez avoir une page spéciale que tout ce qu'il fait est près de la fenêtre (à moins que quelqu'un d'autre peut suggérer ici comment il est censé fonctionner).

* Mise à jour *

ce que je voulais était l'e-mail sanglante (je peux l'obtenir de toutes les autres adresses IP). afin de le faire:

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

et

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

qui obtenir l'adresse e-mail associée au compte. il y a d'autres e-mails disponibles, consultez: http://msdn.microsoft .com / fr-fr / bibliothèque / hh243648.aspx # user

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top