Недавние изменения, объявленные Facebook (например, 24 апреля и 1 мая 2018 ), привели к тому, что мы посмотрели на Facebook Business SDK, который, насколько я могу судить, является потомком Facebook Marketing / API объявлений Facebook.
Facebook указывает на их различные жемчужины на Github, но большинство примеров ссылаются на управление объявлениями и кампаниями. Например, facebook / facebook-ruby-business-sdk .
Используя пример test.rb со страницы Начало работы Facebook , я смог собрать следующий тест. Как вы можете видеть ниже, кажется, что каждый вызов метода для получения значения поля приводит к отдельному вызову API (или, по крайней мере, к некоторой форме доступа к сети):
1 > FacebookAds.configure do |config|
2 > config.access_token = '<deleted>'
3?> config.app_secret = '<deleted>'
4?> end
=> #<FacebookAds::Config:0x007fd1f453ade0 @access_token="<deleted>", @app_secret="<deleted>">
5 > page = FacebookAds::Page.get('125200950858892', "about,fan_count,impressum,username")
=> #<FacebookAds::Page {:id=>"125200950858892"}>
6 > page.__all_fields
=> #<Set: {:about, :fan_count, :impressum, :username, :id}>
7 > page.about
=> "Brandle® delivers social media security & brand protection. It's the easiest way to Discover, Inventory, Monitor & Patrol your social presence!"
# Turn wifi off
8 > page.username
Faraday::ConnectionFailed: getaddrinfo: nodename nor servname provided, or not known
# Turn wifi on
9 > page.username
=> "BrandleSystem"
Graph API сам по себе делает поиск нескольких полей для страницы (узла) очень простым, поэтому я не понимаю, почему новый SDK кажется настолько неэффективным (или, по крайней мере, плохо документированным) с его стороны.
Я думаю, что упускаю что-то довольно очевидное. Существует пакетный API, но я бы предположил, что это больше для извлечения нескольких страниц одновременно, а не для извлечения нескольких полей одной страницы.
Я надеюсь, что кто-то еще понял это.
Спасибо.
PS: Если у кого-то есть очки репутации, которых мне не хватает, я думаю, эта ветка должна иметь facebook-business-sdk
и facebook-ruby-business-sdk
в качестве тегов.