2011-08-09 3 views
8

J'utilise Google Contacts de données api pour obtenir tous les contacts de l'utilisateur suivant la documentation ici https://developers.google.com/google-apps/contacts/v3/Google Contacts de données api 401 erreur

premier i utilisé Google Auth pour authentifier les utilisateurs à l'application en utilisant le code suivant

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

secondes après que l'utilisateur avec succès dans loged rediriger à la page GoogleContacts.aspx avec jeton de demande fourni par Google, puis essayer d'obtenir des contacts par le code suivant

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

que le code fonctionnait d'environ 4 ou 5 jours, mais maintenant sa ne fonctionne pas et moi obtient l'erreur suivante

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)

Toutes les suggestions sur la façon de résoudre cette erreur?

+0

http://code.google.com/apis/contacts/docs/3.0/developers_guide.html page non trouvée –

+0

Un sujet a été lancé sur google forums: [ici] (http://productforums.google.com/forum/#! topic/gmail/-qeBgCFsRhs). Peut-être google répondra à nos questions ... – Max

+0

une solution finale avec un exemple de code source complet à ce sujet? – Kiquenet

Répondre

2

Ce ne sera pas la réponse que vous cherchez, mais je peux vous rassurer. Il n'y a rien de mal avec votre code. Google a récemment déconnecté le service Contacts API, sans préavis. Personne ne sait si elles l'ont rendu obsolète ou l'ont pris pour une autre raison. Depuis hier, ils ont même supprimé la documentation de l'API. Cependant, le lien vers ce site est toujours affiché dans la liste des API au https://developers.google.com/google-apps/app-apis. Il n'y a plus de documentation et d'explication de la part de Google. J'espère que ce n'est pas une chose permanente. Google n'a pas encore répondu aux développeurs sur ce problème.

+0

Je voudrais avoir remarqué cette réponse avant l'expiration de la prime. Il répond réellement à la question. Désolé, tu m'as manqué. – jettero

+0

Même jusqu'à aujourd'hui, il est toujours en panne? –

Questions connexes