В чем разница между различными полями "Instagram" на странице API Facebook - PullRequest
0 голосов
/ 27 октября 2018

Если кто-то запрашивает API Graph Facebook для страницы, есть (как минимум) четыре поля, которые можно запросить в отношении Instagram:

  1. connected_instagram_account - учетная запись Instagram, подключенная к странице через настройки страницы
  2. instagram_business_account - аккаунт Instagram, связанный со страницей во время конверсии бизнес-Instagram *
  3. instagram_accounts - Связанные аккаунты Instagram для этой страницы
  4. page_backed_instagram_accounts - Связанная страница Поддерживается аккаунтами Instagram для этой страницы

Значения могут сильно различаться, и я могу расшифровать некоторые из них, но документация API Graph Facebook не совсем понятна по этим пунктам. Итак, мне было интересно, может ли кто-то иметь четкое определение каждого и отличать одно от другого.

Вот пример одной страницы, которая имеет 3 разных значения в четырех полях (connected_instagram_account и instagram_business_account одинаковы):

-- instagram_accounts: #<Hashie::Mash data=#<Hashie::Array [#<Hashie::Mash id="...995">]>>
-- connected_instagram_account: #<Hashie::Mash id="...004">
-- instagram_business_account: #<Hashie::Mash id="...004">
-- page_backed_instagram_accounts: #<Hashie::Mash data=#<Hashie::Array [#<Hashie::Mash id="...234">]>

Я предполагаю, что это определение connected_instagram_account , а это определение page_backed_instagram_accounts . Кто-нибудь может подтвердить, что это правильно?

Итак, что насчет instagram_accounts?

Если кто-то может добавить некоторую ясность или еще лучше, укажите хорошие определения, которые были бы оценены.

1 Ответ

0 голосов
/ 31 января 2019

Я думаю, что у меня есть ответы на большинство вопросов ...

Если я запрашиваю определенную страницу Facebook, она возвращает значения для всех четырех полей Instagram: page_backed_instagram_accounts , instagram_business_account , instagram_accounts , connected_instagram_account . В приведенном ниже разделе показана отредактированная версия того, что возвращается и что происходит, когда я пытаюсь получить доступ к каждому с помощью Instagram API :

page_backed_instagram_accounts=#<Hashie::Mash data=#<Hashie::Array [#<Hashie::Mash id="964...289">]>
ERROR: "OAuthException: (#100) Tried accessing nonexisting field (biography) on node type (InstagramUser)"

instagram_business_account=#<Hashie::Mash id="178...143">
#<Hashie::Mash followers_count=X follows_count=Y ... username="<public handle>" website="https://www.../"> 

instagram_accounts=#<Hashie::Mash data=#<Hashie::Array [#<Hashie::Mash id="423...525">]>>
ERROR: "OAuthException: (#100) Tried accessing nonexisting field (biography) on node type (InstagramUser)"

connected_instagram_account=#<Hashie::Mash id="178...143">
#<Hashie::Mash followers_count=X follows_count=Y ... username="<public handle>" website="https://www.../">

Как видите, API Instagram может получить доступ к instagram_business_account и connected_instagram_account (в данном случае это одна и та же учетная запись), но не к page_backed_instagram_accounts и instagram_accounts .

Однако, если я пытаюсь получить доступ к тем же идентификаторам учетной записи на основе определения Marketing API , я получаю дополнительные результаты:

page_backed_instagram_accounts=#<Hashie::Mash data=#<Hashie::Array [#<Hashie::Mash id="964...289">]>
#<Hashie::Mash follow_count=0 followed_by_count=0 has_profile_picture=true id="964...289" is_private=false is_published=false media_count=0 profile_pic="https://scontent.cdninstagram.com/..._a.jpg?_nc_ht=scontent.cdninstagram.com" username="...758"> 

instagram_business_account=#<Hashie::Mash id="178...143">
ERROR: "OAuthException: (#100) Tried accessing nonexisting field (follow_count) on node type (ShadowIGUser)"

instagram_accounts=#<Hashie::Mash data=#<Hashie::Array [#<Hashie::Mash id="423...525">]>>
#<Hashie::Mash follow_count=J followed_by_count=K has_profile_picture=true id="423...525" is_private=false is_published=true media_count=1 profile_pic="https://scontent.xx.fbcdn.net/...a.jpg?_nc_cat=104&_nc_ht=scontent.xx&oh=d7ef...2dc&oe=5D0006BC" username="<public handle>"> 

connected_instagram_account=#<Hashie::Mash id="178...143">
ERROR: "OAuthException: (#100) Tried accessing nonexisting field (follow_count) on node type (ShadowIGUser)"

Как вы можете видеть во втором примере, Маркетинговый API может получить доступ к page_backed_instagram_accounts и instagram_accounts , но не instagram_business_account и connected_instagram_account .

Итак, насколько я могу судить, page_backed_instagram_accounts и instagram_accounts являются рекламными аккаунтами (Marketing API), доступ к которым должен осуществляться через [Marketing API] [3].

Несколько других замечаний:

  1. Учетная запись в page_backed_instagram_accounts , по-видимому, имеет автоматически созданное имя пользователя, не публикуется (is_published=false).
  2. Хотя учетная запись в instagram_accounts имеет то же имя пользователя, что и учетная запись в instagram_business_account и connected_instagram_account , на самом деле она немного отличается followers_count, follows_count и другой идентификатор.
  3. API Instagram сообщает о типе узла InstagramUser, а API маркетинга сообщает о типе узла ShadowIGUser.

Я считаю, что page_backed_instagram_accounts содержит автоматически созданную учетную запись для всех учетных записей на тот случай, если нет другой учетной записи, связанной с учетной записью Instagram. Тем не менее, было бы неплохо увидеть более определенный набор определений для этих полей, возвращаемых для страницы Facebook через Graph API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...