如何使用RestFB IgUser getBusinessDiscovery()?

时间:2018-12-05 17:18:10

标签: restfb instagram-graph-api

在FB Graph API资源管理器中,获取business_discovery数据的调用使用任何用户的Instagram ID(在本例中为我自己的帐户),并使用“用户名”指示要从中获取的第三方帐户一些公共信息。

例如,我们要获取instagram页面 motorolaus 的名称,followers_count,media_count之类的公共数据-Graph Explorer的调用类似于:

GET /v3.2/?fields=名称,用户名,business_discovery.username( motorolaus ){名称,关注者数,媒体数}

但是restFB调用IgUser.getBusinessDiscovery()不会使用Graph API Explorer这样的用户名。 那么我如何获得instagram页面的公开信息(这不是我自己的)? 谢谢

2 个答案:

答案 0 :(得分:0)

您要寻找的电话如下:

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

然后,将IgUser对象(user)填充为所需的值。我假设您已经有一个Facebook客户(fbClient)。

答案 1 :(得分:0)

在restFB乐于助人的人士的提示下,如果其他人有相同的问题,我现在可以回答自己的问题:

基本上,我们要获取公开数据的instagram页面名称必须在获取过程中传递。 以下代码进行了说明。假设我们要从“ motorolaus” Instagram页面获取公共信息。

// 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());