FaceBook GraphAPI Извлекает только id, Fname, Lname, фото, id и ссылку

Я использую graph api (v1.0) вместе со старым appid, который был создан до того, как v2.0 был выпущен в приложении MVC4, и пытаюсь получить историю самостоятельной работы, используя код FacebookAPI api = new FacebookAPI(Session["access_token" ].Нанизывать()); Jsonobject people = api.Get("/me", args); // где args — общие поля FB(id,first_name,last_name,work,education,location,picture,link) здесь все работает нормально, НО когда я пытаюсь получить то же самое, используя тот же API (v1.0) и более новый appid, который был создан недавно, за два месяца до того, как рабочие данные самостоятельных пользователей не были получены. Он извлекает только (id, first_name, last_name, изображение, ссылку)


person Saksena Yadhav    schedule 15.09.2014    source источник
comment
Не могли бы вы правильно отформатировать свой вопрос, чтобы его было легче читать?   -  person Yako    schedule 29.12.2014


Ответы (1)


Если вы не укажете явно используемую версию API, более новое приложение Facebook будет использовать API версии 2.0.

Для приложений, созданных 30 апреля 2014 года или позже, вызов API без указания номера версии эквивалентен вызову API версии 2.0.

источник: https://developers.facebook.com/docs/apps/changelog#v2_0

Вы можете проверить используемую версию Facebook API по следующему HTTP-заголовку: facebook-api-version

источник: https://developers.facebook.com/docs/apps/changelog#v2_1

person PSanetra    schedule 15.09.2014
comment
я перепробовал все возможности, но до сих пор не получаю данные о работе, которые я использовал /v2.1/me/, он возвращает 11 объектов, но не сведения о работе и образовании, и когда я использую его, например, /v2.1/me/?fields=work или / v2.1/me?fields=work или /v2.1/me/?fields=user_work_history выдает ошибку, даже если я пытался изменить URL-адрес с all.js на sdk.js в функции fb.init(), но он не работает. кто-нибудь, пожалуйста, помогите мне с этим, я был поражен в течение последних двух дней - person Saksena Yadhav; 16.09.2014
comment
user_work_history — это не поле, а разрешение. Это разрешение необходимо для получения рабочего поля. Я проверил это, и это сработало для меня. (Моим тестовым приложением было приложение Graph API Explorer.) - person PSanetra; 16.09.2014
comment
Кстати, чтобы получить поля образование и местоположение, вам нужны разрешения user_education_history и user_location. - person PSanetra; 16.09.2014
comment
Привет, LivingSoftware, спасибо за ваши постоянные ответы. Не могли бы вы опубликовать пример кода, который сработал для вас, где детали работы извлекаются, пожалуйста? - person Saksena Yadhav; 16.09.2014
comment
Вот jsfiddle: jsfiddle.net/54qrv70n/2. Вам нужно указать свой собственный идентификатор приложения Facebook. Кроме того, ваше приложение должно иметь fiddle.jshell.net в качестве домена приложения или http://fiddle.jshell.net в качестве действительного URI перенаправления OAuth. - person PSanetra; 17.09.2014
comment
Спасибо, LivingSoftware, я попытался использовать свой appid в вашем jsfiddle и включил домен приложения, а также реализовал ваш код, но все же я не могу получить детали работы. - person Saksena Yadhav; 17.09.2014
comment
Если я войду в систему, используя свои личные учетные данные fb, рабочие данные будут получены, но когда я попытаюсь использовать другой почтовый идентификатор, он не будет восстановлен. Затем я дал права администратора другому человеку для приложения, которое я тестирую, а затем проверил, что для него извлекаются рабочие данные. Из этого я обнаружил, что рабочие данные извлекаются только для людей, у которых есть права администратора в приложении, которое используется в приложении. - person Saksena Yadhav; 18.09.2014
comment
Я думаю, что ваше приложение должно быть проверено Facebook, прежде чем пользователи без прав администратора смогут предоставить вам необходимые разрешения: developers.facebook.com/docs/facebook-login/permissions/ - person PSanetra; 18.09.2014