Как я могу использовать RestFB IgUser getBusinessDiscovery ()? - PullRequest
0 голосов
/ 05 декабря 2018

В обозревателе FB Graph API при вызове для получения данных business_discovery используется идентификатор Instagram для любого пользователя (в данном случае моя собственная учетная запись) и «имя пользователя» для указания сторонней учетной записи, из которой он хотел бы получитьнекоторая публичная информация.

Скажем, к примеру, мы хотим получить общедоступные данные, такие как name, follow_count, media_count для страницы Instagram motorolaus - в графическом проводнике вызов будет выглядеть примерно так:

GET /v3.2/?fields=name,username,business_discovery.username(motorolaus) enjname,followers_count, media_count}

Но вызов restFB IgUser.getBusinessDiscovery () не принимаетимя пользователя, такое как Graph API Explorer.Так, как я могу получить общедоступную информацию для страницы Instagram (которая не моя)?Спасибо

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

С подсказками от полезных ребят из restFB теперь я могу ответить на свой вопрос, если у других такой же вопрос:

По сути, имя страницы instagram, для которой нам нужны публичные данные,должен быть передан во время выборки.Следующий код иллюстрирует.Предположим, мы хотим получить общедоступную информацию со страницы Instagram «motorolaus».

// first you need to define the fields you want to fetch.
// For example, let's say we want the name, username,
// number of followers, number of posts(media) and the profile pic:

String businessDiscoveryFields = "business_discovery.username(motorolaus){name,username,followers_count,media_count,profile_picture_url}";

// Then we fetch the restFB IgUser object, using as id (1st parameter)
// the id of your Instagram business page, for which you got the
// access token. This is a string, formed by digits only.

IgUser igMyUser = facebookClient.fetchObject(my_instagram_bizpage_id, IgUser.class,Parameter.with("fields", businessDiscoveryFields));

// now we get the IgUser object for the page we want (motorolaus in
// this example), and from there we get the public data
IgUser igBizUser = igMyUser.getBusinessDiscovery();

System.out.printf("Instagram page %s (%s)\n", igBizUser.getName(), igBizUser.getUsername());
System.out.printf("   num followers: %s\n", igBizUser.getFollowersCount());
0 голосов
/ 06 декабря 2018

Вызов, который вы ищете, выглядит следующим образом:

IgUser user = fbClient.fetchObject("/", 
        IgUser.class, 
        Parameter.with("fields","name,username,business_discovery.username(motorolaus) 
            {name,followers_count, media_count}");

После этого объект IgUser (user) заполняется требуемыми значениями.Я предполагаю, что у вас уже есть клиент Facebook (fbClient).

...