我是用于业务的私人Facebook群组的管理员,我想从该群组中提取所有名称以及添加它们的日期和人员。我很想知道有没有可能的方法可以做到这一点?一些想法或任何建议?
关于提取格式,其实并不重要...
您可以提取所有成员名称、成员 ID、组描述、成员角色。首先使用 facebook-php-sdk-v4-5.0-dev 生成登录 URL:
$fb = new Facebook'Facebook([
'app_id' => APP_ID,
'app_secret' => APP_SECRET,
'default_graph_version' => 'v2.4', // or use v2.5 latest version
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['user_managed_groups'];
$redirectUrl = 'http://localhost/fbapp.php';
$loginUrl = $helper->getLoginUrl($redirectUrl, $permissions);
echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
生成登录 url 后,实现用于响应处理和获取所需数据的代码。
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
setcookie('accessToken',$accessToken);
} catch(Facebook'Exceptions'FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook'Exceptions'FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$fb->setDefaultAccessToken($accessToken);
// Get user groups detail
$requestUserManagedGroups = $fb->request('GET', '/me/groups?fields=members,from');
//Make a batch request
$batch = ['user-groups' => $requestUserLikes];
try {
$responses = $fb->sendBatchRequest($batch);
} catch(Facebook'Exceptions'FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook'Exceptions'FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
为了获得更好的视图,可以使用这个:
foreach ($responses as $key => $response) {
if ($response->isError()) {
$e = $response->getThrownException();
echo '<p>Error! Facebook SDK Said: ' . $e->getMessage() . "'n'n";
echo '<p>Graph Said: ' . "'n'n";
var_dump($e->getResponse());
} else {
echo "<p>(" . $key . ") HTTP status code: " . $response->getHttpStatusCode() . "<br />'n";
echo "Response: " . $response->getBody() . "</p>'n'n";
echo "<hr />'n'n";
}
}
对于团体相关更深入的了解-访问 https://developers.facebook.com/docs/graph-api/reference/v2.5/group
有关小组成员的相关信息,请访问:https://developers.facebook.com/docs/graph-api/reference/v2.5/group/members