У меня возникли проблемы с получением всего JSON из вызова Live ID API.
Я работаю через поток OAuth2 с Windows Live ID, чтобы получить информацию о профиле (и некоторые связанные элементы, такие как номера телефонов и предпочтительный адрес электронной почты). Я использую perl & Net::OAuth2.
Часть OAuth2 работает нормально; Я могу получить токен доступа. Что я хочу сделать сейчас, так это развернуть его и получить информацию о профиле, которая является точкой этого процесса аутентификации/авторизации.
Если я просто снова вставлю URL-адрес в браузер https://apis.live.net/v5.0/me?access_token=EwA.... Я получаю то, что хочу, выглядит как JSON:
{
"id": "dd62296f10db01bf",
"name": "Michael Helm",
....
"locale": "en_US",
"updated_time": "2012-05-03T01:02:59+0000"
}
Когда я использую некоторые модули Perl для построения строки URL, выполнения запроса и извлечения (используйте LWP::UserAgent; используйте HTTP::Request::Common;)
то, что возвращается в результате client->request, выглядит как последняя часть этого JSON выше, часть с updated_time, плюс некоторые знаки препинания.
Что мне не хватает? Что мне нужно сделать, чтобы получить весь объект?
Этот метод работал раньше (но с парой провайдеров OAuth 1). Я не совсем знаком с Microsoft и Windows Live ID, но до сих пор процесс казался простым.