2011-08-09 10 views
8

Sto usando Google Contacts Data API per ottenere tutti i contatti dell'utente in seguito alla documentazione qui https://developers.google.com/google-apps/contacts/v3/Google Contacts Data API 401 errore

prima ho usato Google Auth per autenticare gli utenti per l'applicazione utilizzando il seguente codice

string authSubUrl = AuthSubUtil.getRequestUrl("http://localhost:62439/ContactImporter/GoogleContacts.aspx", "https://www.google.com/m8/feeds/", true, true); 
    Response.Redirect(authSubUrl); 

secondi dopo che l'utente loged con successo in rioriento alla pagina GoogleContacts.aspx con richiesta di token forniti da Google e poi cercando di ottenere i contatti dal seguente codice

if (!string.IsNullOrEmpty(Request["token"])) 
{ 
    GAuthSubRequestFactory authFactory = new GAuthSubRequestFactory("cp", "alpha"); 
    RequestSettings rs = new Google.GData.Client.RequestSettings("alpha",Request["token"]); 
    ContactsRequest cr = new ContactsRequest(rs); 

    Feed<Contact> f = cr.GetContacts(); 

    foreach (Contact entry in f.Entries) 
    { 
     foreach (EMail email in entry.Emails) 
     { 
      Response.Write("\n" + email.Address); 
     } 
    } 
} 

che il codice stava lavorando da circa 4 o 5 giorni, ma ora il suo non funziona e mi ottiene il seguente errore

The remote server returned an error: (401) Unauthorized. at Google.GData.Client.GDataRequest.Execute() at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter) at Google.GData.Client.GDataGAuthRequest.Execute() at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince, String etag, Int64& contentLength) at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince) at Google.GData.Client.Service.Query(FeedQuery feedQuery) at Google.GData.Client.Feed 1.get_AtomFeed() at Google.GData.Client.Feed 1.d__0.MoveNext() at GoogleContacts.Page_Load(Object sender, EventArgs e) in d:\Working Folder\API's\ContactImporter\GoogleContacts.aspx.cs:line 25 at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Tutti i suggerimenti su come risolvere tale errore?

+0

http://code.google.com/apis/contacts/docs/3.0/developers_guide.html pagina non trovata –

+0

Un argomento è stato avviato nei forum di google: [qui] (http://productforums.google.com/forum/#! argomento/gmail/-qeBgCFsRhs). Forse google risponderà alle nostre domande ... – Max

+0

qualsiasi soluzione finale con l'esempio di codice sorgente completo a lavorare su di esso? – Kiquenet

risposta

2

Questa non sarà la risposta che stai cercando, ma posso far riposare la tua mente. Non c'è niente di sbagliato nel tuo codice. Google ha rimosso il servizio API Contatti recentemente, senza preavviso. Nessuno sa se l'hanno reso obsoleto o lo hanno rimosso per qualche altro motivo. A partire da ieri, hanno persino tolto la documentazione dell'API. Tuttavia il link ad esso è ancora pubblicato nella loro lista di API a https://developers.google.com/google-apps/app-apis non c'è più alcuna documentazione che sia mai stata e nessuna spiegazione di Google sul perché sia ​​stata chiusa. Spero che non sia una cosa permanente. Google deve ancora rispondere agli sviluppatori su questo problema.

+0

Vorrei aver notato questa risposta prima che la ricompensa fosse scaduta. In realtà risponde alla domanda. Scusa, mi sei mancato. – jettero

+0

Anche fino ad oggi è ancora inattivo? –

Problemi correlati