Facebook graph api Facebook Workplace帐户管理API不返回照片
我对Facebook的工作场所有一个问题。我所要做的就是建立一个快速简单的员工目录,它可以抓取我们所有的活跃用户,并说出他们的姓名、头衔、部门和照片。问题是,返回的数据似乎与上面链接中的Facebook核心模式不匹配。一些模式数据会返回,但不会返回照片,无论我尝试了什么Facebook graph api Facebook Workplace帐户管理API不返回照片,facebook-graph-api,facebook-workplace,Facebook Graph Api,Facebook Workplace,我对Facebook的工作场所有一个问题。我所要做的就是建立一个快速简单的员工目录,它可以抓取我们所有的活跃用户,并说出他们的姓名、头衔、部门和照片。问题是,返回的数据似乎与上面链接中的Facebook核心模式不匹配。一些模式数据会返回,但不会返回照片,无论我尝试了什么 private function getEmployees() { $done = false; $current_index = 1; $current_page = 1; $results =
private function getEmployees()
{
$done = false;
$current_index = 1;
$current_page = 1;
$results = [];
while(!$done) {
$res = $this->client->request(
'GET',
'https://www.facebook.com/company/XXXXXXXXX/scim/Users?count=100&startIndex=' . $current_index,
[
'headers' => ['Accept' => 'application/json',
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $this->token
]
]
);
$decoded = json_decode($res->getBody());
$total = $decoded->totalResults;
$perPage = $decoded->itemsPerPage;
if (isset($decoded->Resources)) {
$results = array_merge($results, $decoded->Resources);
if (($current_page * $perPage) >= $total) {
$done = true;
} else {
$current_page++;
$current_index += $perPage;
}
} else {
$done = true;
}
}
return $results;
}
这给了我们:
object(stdClass)[392]
public 'schemas' =>
array (size=3)
0 => string 'urn:scim:schemas:core:1.0' (length=25)
1 => string 'urn:scim:schemas:extension:enterprise:1.0' (length=41)
2 => string 'urn:scim:schemas:extension:facebook:starttermdates:1.0' (length=54)
public 'id' => int 10001156699923
public 'userName' => string 'np@lt.com' (length=21)
public 'name' =>
object(stdClass)[393]
public 'formatted' => string 'Nick P' (length=11)
public 'title' => string 'Lead PHP Engineer' (length=17)
public 'active' => boolean true
public 'phoneNumbers' =>
array (size=1)
0 =>
object(stdClass)[394]
public 'primary' => boolean true
public 'type' => string 'work' (length=4)
public 'value' => string '+1631123456' (length=12)
public 'addresses' =>
array (size=1)
0 =>
object(stdClass)[395]
public 'type' => string 'attributes' (length=10)
public 'formatted' => string 'Manhattan' (length=9)
public 'primary' => boolean true
public 'urn:scim:schemas:extension:enterprise:1.0' =>
object(stdClass)[396]
public 'department' => string 'IT' (length=2)
public 'manager' =>
object(stdClass)[397]
public 'managerId' => int 100011017901494
public 'urn:scim:schemas:extension:facebook:starttermdates:1.0' =>
object(stdClass)[398]
public 'startDate' => int 0
public 'termDate' => int 0
如您所见,它返回属于“核心”模式的其他字段,但缺少“照片”数组和其他字段。我想这可能是因为用户没有任何照片,但几乎所有的用户都有个人资料图片,而且很多用户还有更多。我试图获得他们的用户信息,但遇到了同样的结果,没有照片
有人试过类似的东西吗?非常感谢任何帮助,这对我们来说都是一个障碍
感谢获取配置文件信息,不要使用SCIM而是图形API 将列出所有成员 对于你的一个成员,你将获得所有信息 之后,您必须使用字段param设置要获取的参数 在我们的实现中,我们从这个请求中获取全部数据
{email}&limit=500我的印象是我不能在Workplace中使用常规图形API?我只需要一份我们所有员工的名单,包括他们的姓名、头衔、电子邮件、照片,而不是详细的个人资料。另一个问题是Graph API需要使用OAuth2进行更严格的身份验证流,每次都需要有人授权,或者使用长期令牌进行3个月的授权。SCIM在实际请求中只需要一个密钥。如果Graph适用于Workplace,并且是唯一的方法,我会切换。但是医生说数据应该随SCIM一起返回,所以我更希望如此。这个解决方案奏效了。我能够在不使用OAuth2的情况下获得我想要的所有数据。谢谢,真的很有效。在使用scim和搜索图片之前,我一直没有成功。非常感谢,伙计。