2

Говорят, что FQL будет больше недоступна:Какие функции FQL отсутствуют в Graph API?

FQL по-прежнему доступен в версии 2.0, но не будет доступна в следующей версии платформы. Это раннее предупреждение дается, чтобы разработчики могли как можно скорее начать миграцию FQL в Graph API. https://developers.facebook.com/docs/apps/upgrading

Если вам нужно перенести FQL запросы Graph API, который Ловушки вы можете столкнуться?

ответ

0

Если вам нужно перенести свои запросы FQL в Graph API, с какими ловушками вы столкнетесь?

Как таковые отсутствуют подводные камни, основные и соответствующие поля, к которым вы обращаетесь из таблиц fql, доступны также с конечными точками API Graph. Но да, некоторые из полей могут и не быть - единственная ловушка!

0

На самом деле, некоторые таблицы устарели.

точно знаю -

location_post (и, вероятно возвраты, а)

mutual_friends_count поле в таблице пользователей почти всегда возвращающегося нуль сейчас (что является следствием целого «вы не знаю, кто изменил ваш друг.)

1

Мне кажется, что проблема в том, что вам нужно будет сделать больше запросов api для того же результата.

Если вы хотите, чтобы найти все события, которые были опубликованы на страницах, вы будете следовать вы можете выполнить следующий запрос FQL:

SELECT eid, name, start_time, end_time, location, venue, description 
    FROM event WHERE eid IN (SELECT eid FROM event WHERE creator IN 
    (SELECT page_id FROM page_fan WHERE uid = 'YOUR_UID')) 
    ORDER BY start_time desc AND start_time > now() 

Это вернет все события вместе. Чтобы воспроизвести это в графике api, вам нужно будет сделать еще много запросов. Таким образом, с помощью следующего псевдокода:

my_likes = request /me/likes 
    for each page_id in my_likes 
    events[page_id] = request /{page_id}/events 

мы получаем один запрос для вашего списка страниц, а затем один запрос для каждой страницы (который может быть в сотни), в отличие от только один FQL запрос в первом примере.

EDIT :: =========================================================================================================================================================== ==

Способ избежать увеличения http-запросов заключается в использовании синтаксиса nested request графика api (как указано OP в его комментарии).

Это позволяет вам связывать запросы так, чтобы они выполнялись на стороне сервера, прежде чем они будут возвращены в ваше приложение. Таким образом, выше запрос, если переписать в гнездовой синтаксисе запроса, становится

https://graph.facebook.com/v2.0/me?fields=likes.fields(events) 

где второй запрос на поле событий делается на каждом из узлов страниц, возвращенных по первому требованию (в данном примере все из страниц, которые понравился пользователь). Таким образом, на самом деле удаление FQL приводит к гораздо более сжатой строке запроса.

+1

Это волнует меня. вы можете сделать [вложенные запросы] (https://developers.facebook.com/docs/graph-api/using-graph-api/v2.0 # fieldexpansion), чтобы получить тот же результат? – younes0

+0

Жаль younes0, да, вы мертвы правы. вложенные запросы - это путь вокруг этого, я обновлю свой ответ. Вы ответили на свой вопрос :) – NectarSoft

Смежные вопросы