Domanda

sto cercando di recuperare alcune informazioni dal API LiveID ma sto ottenendo l'errore:

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

Il codice è relativamente semplice; Sto compresa la biblioteca, chiamando l'initialiser con la pretesa nameidentifier che ricevo da WIF e quindi richiede il me percorso.

dal messaggio di errore suppongo non sono riuscito a fornire un token di accesso ... ma non sarebbe la mia app avere questo già da quando ho recuperato con successo la pretesa?

ecco il mio codice:

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

* aggiornamento *

mi venne in mente, forse ho bisogno di accedere al sistema in modo da ora ho:

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

, ma lo stesso errore ...

È stato utile?

Soluzione

quindi è stato un po 'più complicato ... a quanto pare si deve creare un'applicazione con il sistema LiveID all'indirizzo:

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

il sito vi darà un ClientID e poi le esigenze di codice per essere come questo:

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

È interessante notare che il ekkis mi vedo il login come in tutto il mondo non appare da nessuna parte e sono confuso, ma ora penso che ho usato un account Passport, pensando che fosse un conto LiveID . Io non sono sicuro di aver capito quale sia la differenza, ma ora che ho configurato il mio conto LiveID di avere un nome / cognome funziona il tutto.

Una nota finale: la creazione dell'app sul sito live.com richiede di fornire un URL di ritorno. quando il WL.login() viene chiamato, il browser apre una finestra che richiede all'utente per le autorizzazioni (anche se s / ha già firmato). Quando l'utente fa clic su OK, l'URL di ritorno viene caricato in quella finestra. grr ... così ora è necessario disporre di una pagina speciale che tutto ciò che fa è vicino alla finestra (a meno che qualcuno altro qui può suggerire come si suppone di lavoro).

* aggiornamento *

quello che avrei voluto era l'e-mail sanguinosa (posso ottenere da tutti gli altri IP). modo per farlo:

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

e poi:

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

che otterrà l'indirizzo e-mail associato all'account. ci sono altre e-mail disponibili, vedere: http://msdn.microsoft .com / it-it / library / hh243648.aspx # utente

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top