Подскажите, как получить расширенную информацию о профиле пользователя на живом журнале, а конкретно как заставить журнал возвращать поля «openid_sreg_dob, openid_sreg_email, openid_sreg_fullname, openid_sreg_gender, openid_sreg_nickname»?
он их просто игнорирует в запросе.
нашел вот http://[username].livejournal.com/data/foaf, но там не все данные (даты рождения нет и, самое главное, мыла).
<foaf:dateOfBirth>
1985-02-20
</foaf:dateOfBirth>
Дата рождения есть (если в профиле включен ее показ)
Почту, судя по всему, никак (в foaf выдается только sha-хеш).
Надо запросить эти данные используя протокол OpenId. Вряд ли эти данные лежат в открытом доступе — пользователь должен разрешить вам получать эти данные.
К сожалению сходу не нашел доку по LJ провайдеру.
Кстати лучше найти AttributeExchange расширение на жж — оно более новое. Если надо — есть пример как получить эти данные от гугля.
Есть некоторые нюансы с которыми я столкнулся при написании своего кода (буду говорить про AX но скорей всего к SREG также применимо, они вроде очевидны но всегда что-то «забывается»):
во-первых openid.sreg.required требует перечисления полей, и провайдеры, если они не обладают required полями могут отрабатывать по разному — кто-то не возвращать ничего, кто-то возвращать не все что в required (Гугль привет!). Второй момент — это расширение протокола, т.е. отдельно от протокола оно не работает, сначала удостоверься что просто аутентификация по openid у тебя проходит успешно, а уж после этого — добавь использование расширения.
И в общем если хочется помощи — дай больше информации — stateless или statefull схему используешь, примеры кода или общее понимание «потока» обработки…
И еще — кинь ссылку на доку lj по его openid провайдеру, а то я не нашел =(.