2012-02-23 11 views
11

So che ci sono domande simili, ma recano con me ...Come si ottengono i dati di posta elettronica dei contatti di un utente da Windows Live?

Ho colpito problemi simili a quelli di altri interlocutori per quanto riguarda solo ottenere versioni hash di indirizzi email di contatto, and understand why.

Il fatto è che ho notato che Google + sembra essere in grado di ottenere indirizzi email di contatto più che bene con LiveConnect. Usando il violinista, noto che sembrano richiedere un ambito di autenticazione "wl.contacts_emails" che does not seem to be documented.

Alcuni googling suggerisce "i permessi rafforzate" ma non c'è alcuna menzione di questo quando l'impostazione o la modifica di un Windows Live collegare app sul loro sito.

Come faccio ad avere questo scopo sulla mia app?

+1

questo ambito sta lavorando per me. Non so cosa ti manca. Basta commentare qui e posso aiutarti a trovare una soluzione. – nalply

+1

Ho notato questo e sono interessato se questo ambito funziona ancora. L'ho provato sulla demo live di sdk e ha funzionato, ma si rifiuta di lavorare attraverso oauth dalla mia app web. Funziona ancora nel tuo caso? – FreeCandies

+0

@FreeCandies Vedi le mie risposte alla risposta qui sotto. Controlla gli URL che usi per autorizzare e ottenere il token di accesso. – Vilinkameni

risposta

9

Funziona per me in produzione utilizzando wl.contacts_emails IN CONGIUNZIONE CON wl.emails. Non l'ho testato solo con wl.contacts_emails ma linkedin utilizza entrambi gli ambiti.

Dopo WL.init qui è l'ambito completo utilizzato:

WL.login({ 
    scope: ['wl.basic', 'wl.emails', 'wl.contacts_emails'], 
}).then(function(response) { 

E ancora non è documentato e Microsoft ha explicitly stated che non è possibile ottenere gli indirizzi email di contatto, in modo da utilizzare con cautela. Tuttavia, l'intero sistema oauth è il più grande scherzo di un'ape con cui abbia mai lavorato, quindi suppongo che sia così in cluster che qualcuno ha appena dimenticato di scriverlo.

Modifica: lo full story è qui, Microsoft ha confermato l'esistenza di wl.contacts_emails e dichiara di funzionare solo con determinati partner che hanno stipulato accordi con loro. Tuttavia, stanno mentendo per coprire le loro tracce e funziona per tutti i clienti. Il tutto è un casino.

TL; DR wl.contacts_emails opere, ma non lo ammetteranno ad esso, quindi c'è una possibilità ad un certo punto in futuro avrebbero potuto strappare da sotto.

+0

Grazie mille! Quello è ciò di cui ho bisogno! –

+0

Questo non sembra funzionare più. I'm getting?? Error = invalid_scope & error_description = Il% 20 fornito% 20valore% 20per% 20il% 20input% 20parameter% 20% 27scope% 27% 20is% 20non% 20valid% 20per% 20this% 20client% 20application. (Errore "Il valore fornito per 'scope' il parametro di ingresso non è valido per questa applicazione client. ") aggiunto al mio URL di endpoint quando cerco di usare' wl.contacts_emails' in congiunzione con '' wl.emails' e wl.basic' come 'scope' . Quando chiamo '/ mi/contacts' con' wl.basic, wl.emails, wl.contacts_emails' attraverso il "interattivo in diretta SDK", tuttavia, non dare il mio elenco di contatti con i messaggi di posta elettronica. Aggiornamento – Vilinkameni

+0

: Mi sembra di ottenere questo errore quando si passano questi parametri a 'https: // oauth.live.com/authorize' e' https: // oauth.live.com/token' (valori predefiniti dalla libreria 'oauth2-client' per PHP), ma quando ho cambiato gli URL in 'https: // login.live.com/oauth20_authorize.srf' e' https: // login.live.com/oauth20_token.srf' rispettivamente nella classe "Microsoft", seguendo [il consiglio qui] (http://techjoomla.com/invitex/how-to-use-hotmailrest-api-to-import-contacts.html), ha funzionato. – Vilinkameni

Problemi correlati