Ошибка 401 API данных контактов Google

Я использую API данных контактов Google, чтобы получить все контакты пользователей, следуя документации здесь https://developers.google.com/google-apps/contacts/v3/

сначала я использовал Google Auth для аутентификации пользователей в приложении, используя следующий код

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

через секунду после того, как пользователь успешно вошел в систему, я перенаправляю на страницу GoogleContacts.aspx с токеном запроса, предоставленным от Google, а затем пытаюсь получить контакты с помощью следующего кода

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

этот код работал примерно 4 или 5 дней, но теперь он не работает и вызывает следующую ошибку

Удаленный сервер возвратил ошибку: (401) Неавторизованный. в Google.GData.Client.GDataRequest.Execute () в Google.GData.Client.GDataGAuthRequest.Execute (Int32 retryCounter) в Google.GData.Client.GDataGAuthRequest.Execute () в Google.GData.Client.Service.Query (U queryUri, DateTime ifModifiedSince, String etag, Int64 & contentLength) в Google.GData.Client.Service.Query (Uri queryUri, DateTime ifModifiedSince) в Google.GData.Client.Service.Query (FeedQuery feedQuery) в Google.GData.Client_1. .d__0.MoveNext () в GoogleContacts.Page_Load (отправитель объекта, EventArgs e) в d: \ Working Folder \ API's \ ContactImporter \ GoogleContacts.aspx.cs: строка 25 в System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e) в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (отправитель объекта, EventArgs e) в System.Web.UI.Control.OnLoad (EventArgs e) в System.Web.UI.Control.LoadRecursive () в System.Web.UI.Page.ProcessRequestMain (логическое includeStagesBeforeAsyncPoint , Логическое includeStagesAfterAsyncPoint)

Есть предложения по устранению этой ошибки?


person Community    schedule 09.08.2011    source источник
comment
code.google.com/apis/contacts/docs/3.0/developers_guide. html страница не найдена   -  person Paul Zahra    schedule 28.03.2013
comment
На форумах Google создана тема: здесь. Может, гугл ответит на наши вопросы ...   -  person Max    schedule 29.03.2013
comment
какое-либо окончательное решение с полным образцом исходного кода, работающим над этим?   -  person Kiquenet    schedule 27.12.2013


Ответы (1)


Это не будет тот ответ, который вы ищете, но я могу успокоить вас. В вашем коде нет ничего плохого. Недавно Google без предварительного уведомления отключил службу API контактов. Никто не знает, устарели ли они или сняли по какой-то другой причине. Со вчерашнего дня даже сняли документацию по API. Однако ссылка на него по-прежнему размещена в их списке API на https://developers.google.com/google-apps/app-apis больше нет никакой документации и никаких объяснений со стороны Google, почему он был закрыт. Надеюсь, это не навсегда. Google еще не ответил разработчикам по этому поводу.

person Michael Hartmann    schedule 29.03.2013
comment
Хотел бы я заметить этот ответ до истечения срока награды. Это фактически отвечает на вопрос. Извини, что скучал по тебе. - person jettero; 13.05.2013
comment
Даже до сегодняшнего дня он все еще не работает? - person Eric T; 26.06.2014