Total number of Facebook group members
Hello, I am trying to understand how to display the total number of Facebook group members. I managed to put this code together, but when I load it the page is blank:
Code:
<?php
require('facebook.php');
$config = array(
'appId' => 'MYAPPID',
'secret' => 'MYSECRETID',
'cookie' => true
);
$facebook = new Facebook($config);
$query = urlencode('SELECT count(uid) from group_member WHERE gid = MYGROUPID limit 500 offset 500');
try {
$fbData = $facebook->api("/fql?q={$query}");
} catch (FacebookApiException $e) {
$fbData
= $e->getResult();
};
var_dump($fbData);
?>
Re: Total number of Facebook group members
You should be contacting Facebook first.
Re: Total number of Facebook group members
Quote:
Originally Posted by
PeejAvery
You should be contacting Facebook first.
I already tried on the official Facebook Forums but was in vain
Re: Total number of Facebook group members
Well...I've never created any Facebook PHP apps, but one thing that comes directly to mind is that you aren't doing anything with the variable after sending your FQL query. Also, the group ID you're using only has 3 members anyway. So why are you limiting and offsetting by 500?
Re: Total number of Facebook group members
Quote:
Originally Posted by
PeejAvery
Well...I've never created any Facebook PHP apps, but one thing that comes directly to mind is that you aren't doing anything with the variable after sending your FQL query. Also, the group ID you're using only has 3 members anyway. So why are you limiting and offsetting by 500?
Do you have any experience with FB PHP SDK? How do you suggest to end the code so that the results are shown?
Thank you
Re: Total number of Facebook group members
I don't use the Facebook PHP SDK, so I cannot tell you...nor do I have the time to go researching it.
However, I can tell you that you should remove the limit and offset from the query. And that $fbData will probably be some sort of object or multidimensional array. Use var_dump() on it to find out.
Re: Total number of Facebook group members
It is an array...
Code:
<?php
require('facebook.php');
$config = array(
'appId' => 'MYAPPID',
'secret' => 'MYSECRETID',
'cookie' => true
);
$facebook = new Facebook($config);
$query = urlencode('SELECT count(uid) from group_member WHERE gid = MYGROUPID limit 500 offset 500');
try {
$fbData = $facebook->api("/fql?q={$query}");
} catch (FacebookApiException $e) {
$fbData
= $e->getResult();
};
var_dump($fbData);
?>
Re: Total number of Facebook group members
You still haven't removed the limit or offset. Plus, you have two variables of $fbData...so you cannot tell whether there is an error in the try statement or not. See what the following does.
PHP Code:
<?php
require('facebook.php');
$config = array(
'appId' => '350224611710644',
'secret' => 'a604150d3b8184002d1f04448724d17c',
'cookie' => true
);
$facebook = new Facebook($config);
$query = urlencode("SELECT count(uid) FROM group_member WHERE gid = 457030854323270");
try {
$fbData = $facebook->api("/fql?q={$query}");
var_dump($fbData);
} catch (FacebookApiException $e) {
echo 'Error occurred:<br />';
var_dump($e->getResult());
};
?>
Re: Total number of Facebook group members
I've updated the file (added a semicolon before "var_dump")
Re: Total number of Facebook group members
It's telling you that the authentication you're using isn't correct. Double check your app ID and secret.
Re: Total number of Facebook group members
Quote:
Originally Posted by
PeejAvery
It's telling you that the authentication you're using isn't correct. Double check your app ID and secret.
Done it. The data are right. o_O
Re: Total number of Facebook group members
For some reason Facebook must not like the count() functionality in SQL. Instead, you have to count the returned results.
PHP Code:
<?php
require_once('facebook.php');
$config = array(
'appId' => '350224611710644',
'secret' => 'a604150d3b8184002d1f04448724d17c',
'cookie' => true
);
$facebook = new Facebook($config);
$query = urlencode("SELECT uid FROM group_member WHERE gid = 457030854323270");
try {
$fbData = $facebook->api("/fql?q={$query}");
echo count($fbData['data']);
} catch (FacebookApiException $e) {
echo 'Error occurred:<br />';
var_dump($e->getResult());
};
?>
Re: Total number of Facebook group members
Quote:
Originally Posted by
PeejAvery
For some reason Facebook must not like the
count() functionality in SQL. Instead, you have to count the returned results.
PHP Code:
<?php
require_once('facebook.php');
$config = array(
'appId' => '350224611710644',
'secret' => 'a604150d3b8184002d1f04448724d17c',
'cookie' => true
);
$facebook = new Facebook($config);
$query = urlencode("SELECT uid FROM group_member WHERE gid = 457030854323270");
try {
$fbData = $facebook->api("/fql?q={$query}");
echo count($fbData['data']);
} catch (FacebookApiException $e) {
echo 'Error occurred:<br />';
var_dump($e->getResult());
};
?>
It works. How is that FB API?
Thanks a lot again.
Re: Total number of Facebook group members
Not hard for a PHP developer. It's just that I had to go through and download the Facebook PHP SDK as well as check documentation to see how their FQL queries work.
Were it just plain PHP...that would not be an issue. But the moment questions appear in the forum that pertain to 3rd party libraries...then we developers have to study those 3rd party libraries first before we can answer questions. Sometimes we have the time to do that...sometimes we do not.
Re: Total number of Facebook group members
I have updated my code
Code:
<div>
<?php
require_once('<?php bloginfo(\'template_directory\'); ?>/fb_api/facebook.php');
$config = array(
'appId' => 'MYAPPID',
'secret' => 'MYSECRETID',
'cookie' => true
);
$facebook = new Facebook($config);
$query = urlencode("SELECT uid FROM group_member WHERE gid = MYGROUPID");
try {
$fbData = $facebook->api("/fql?q={$query}");
echo count($fbData['data']);
} catch (FacebookApiException $e) {
echo 'Errore:<br />';
var_dump($e->getResult());
};
?>
</div>
now the error shown are these:
Warning: require_once(<?php bloginfo('template_directory'); ?>/fb_api/facebook.php) [function.require-once]: failed to open stream: No such file or directory in /home/zardmediagroup/wp-content/plugins/advanced-text-widget/advancedtext.php(79) : eval()'d code on line 3
Fatal error: require_once() [function.require]: Failed opening required '<?php bloginfo('template_directory'); ?>/fb_api/facebook.php' (include_path='.:/usr/share/php5:/usr/share/php') in /home/zardmediagroup/wp-content/plugins/advanced-text-widget/advancedtext.php(79) : eval()'d code on line 3