Google Contacts API 401 Требуется авторизация

Я делаю следующий запрос к API контактов Google после получения токена oauth2.

$.ajax({
         url: 'https://www.google.com/m8/feeds/contacts/[email protected]/full?access_token=' + authData.authorizationCode + '&alt=json',
         dataType: "jsonp",
         success:function(data) {
                    console.log((data));
                }
            });

Это создает следующий HTTP-запрос GET:

https://www.google.com/m8/feeds/contacts/[email protected]/full?access_token=4/95N2f8xA1XXXXXXXXXXXXXXQC3BtuuMbk.Aug-7c4GLLMZXmXvfARQvtgU5IVtmgI&alt=json&callback=jQuery111XXXXX1426XXX03&_=1431142848004

Однако Google отвечает Код состояния: 401 Требуется авторизация.


person Shivam Sinha    schedule 09.05.2015    source источник


Ответы (1)


К вашему сведению, я использовал код авторизации, а не токен доступа для запроса контактных данных. Следовательно, почему я получал ошибку

На приведенной ниже диаграмме показан поток oauth2: https://developers.google.com/identity/protocols/OAuth2WebServer< /а>

Это отличный ресурс для просмотра того, что на самом деле должен делать ваш код: https://developers.google.com/oauthplayground/

Вот исчерпывающий пример использования Google oauth2 для API: http://www.9bitstudios.com/2013/05/using-oauth-2-0-for-google-apis/

Ниже код получает список контактов электронной почты

$.ajax({
                    url: 'https://www.google.com/m8/feeds/contacts/default/full?alt=json',
                    dataType: "jsonp",
                    data: {'access_token': authData.authorizationToken.access_token},
                    success:function(data) {
                        var entryOfEmails = data.feed.entry;
                        for (var i = 0; i < data.feed.entry.length; i++) {
                                console.log(entryOfEmails[i].gd$email[0].address);
                            }
                    }
                 });  
person Shivam Sinha    schedule 09.05.2015
comment
я получаю ту же ошибку .... где вы добавили токен доступа? не могли бы вы предоставить фрагмент кода ... я пытаюсь часами .. - person Vivek Pratap Singh; 25.05.2017