在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页面的公开信息(这不是我自己的)? 谢谢
答案 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());