FQL page_fan
Beste,
Ik ben aan het proberen om de images van de facebook-users te laden die fan zijn van mijn eigen pagina. Ik weet dat hier een social-plugin van Facebook zelf voor is, maar die biedt weinig vrijheid.
Ik probeer om met FQL een query op te zetten waarin alle users worden opgehaald die mijn facebook page "liken". Echter is page_id geen index in deze tabel, maar alleen de user-id (uid).
De gebruikers hoeven niet in te loggen om de plaatjes te zien.
Op dit moment gebruik ik deze query:
Maar omdat page_fan geen index op page_id heeft krijg ik een error.
Iemand hier ervaring mee of een mogelijke oplossing?
Ik ben aan het proberen om de images van de facebook-users te laden die fan zijn van mijn eigen pagina. Ik weet dat hier een social-plugin van Facebook zelf voor is, maar die biedt weinig vrijheid.
Ik probeer om met FQL een query op te zetten waarin alle users worden opgehaald die mijn facebook page "liken". Echter is page_id geen index in deze tabel, maar alleen de user-id (uid).
De gebruikers hoeven niet in te loggen om de plaatjes te zien.
Op dit moment gebruik ik deze query:
Code (php)
1
SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid FROM page_fan WHERE page_id = 000000000000)
Maar omdat page_fan geen index op page_id heeft krijg ik een error.
Iemand hier ervaring mee of een mogelijke oplossing?
Welke error krijg je?
Dat page_id geen index is en dat ik in de WHERE clausule een indexeerbare parameter moet gebruiken.
Theoretisch gezien is het dan niet mogelijk met FQL. Je kan niet van de tabel page naar page_fan komen. Je hebt geen JOIN's, geen GROUP BY's en HAVINGS. Uiteindelijk moet page_id van de 'page_fan' tabel toch in de WHERE komen.
Edit: Google op 'fql get page_fans from page': http://stackoverflow.com/questions/3560574/get-facebook-page-fans
Edit: Google op 'fql get page_fans from page': http://stackoverflow.com/questions/3560574/get-facebook-page-fans
Gewijzigd op 22/02/2011 13:13:59 door The Force
Ah dat leek te werken met een group-id. Echter zodra ik mijn page-id invoer krijg ik deze error:
gebruikte code:
edit:
Ik heb ervoor gekozen om het uit de groep te laden. Als volgt:
Quote:
file_get_contents(https://graph.facebook.com/183864994984196/members?limit=500&access_token=190883070943691|TRywDhcWIinJtcpRlXBsipmfoMM) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request
gebruikte code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '----',
'secret' => '----',
'cookie' => true,
));
try {
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
$accessToken = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id=190883070943691&client_secret=b169d4869cd49daefd4e8e6a97e6d2cc&grant_type=client_credentials');
echo $accessToken;
$results = file_get_contents('https://graph.facebook.com/183864994984196/members?limit=500&'.$accessToken);
echo '<pre>';
print_r($results);
echo '</pre>';
?>
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '----',
'secret' => '----',
'cookie' => true,
));
try {
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
$accessToken = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id=190883070943691&client_secret=b169d4869cd49daefd4e8e6a97e6d2cc&grant_type=client_credentials');
echo $accessToken;
$results = file_get_contents('https://graph.facebook.com/183864994984196/members?limit=500&'.$accessToken);
echo '<pre>';
print_r($results);
echo '</pre>';
?>
edit:
Ik heb ervoor gekozen om het uit de groep te laden. Als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
// Awesome Facebook Application
//
// Name: workshopaholics
//
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '----',
'secret' => '----',
'cookie' => true,
));
try {
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid FROM group_member WHERE gid = 138399492887607)'
));
echo '<pre>';
print_r($result);
echo '</pre>';
foreach($result as $user => $value)
{
echo '<img src="'.$value['pic_square'].'" alt="" />';
}
?>
// Awesome Facebook Application
//
// Name: workshopaholics
//
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '----',
'secret' => '----',
'cookie' => true,
));
try {
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid FROM group_member WHERE gid = 138399492887607)'
));
echo '<pre>';
print_r($result);
echo '</pre>';
foreach($result as $user => $value)
{
echo '<img src="'.$value['pic_square'].'" alt="" />';
}
?>
Gewijzigd op 22/02/2011 14:52:35 door Justin S
Heel mooi. Wellicht handig om de appId en je 'secret' token weg te halen?
haha thanks, had er niet op gelet. Ben trouwens toch weer aan de slag met die page.. Kan het niet verkroppen dat het niet kan
Facebook heeft het afgeschermd omdat het niet geindexeerd is en daarom het systeem te veel kan belasten. Zou wel mooi zijn als je een manier kan vinden om er omheen te werken, maar verwacht er niet te veel van.
Het is me gelukt als ik 'm op een group gooi. Kennelijk zijn pages een vorm van groepen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
// Awesome Facebook Application
//
// Name: workshopaholics
//
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '---',
'secret' => '---',
'cookie' => true,
));
try {
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid FROM group_member WHERE gid = 197681136917749)'
));
echo '<pre>';
print_r($result);
echo '</pre>';
foreach($result as $user => $value)
{
echo '<img src="'.$value['pic_square'].'" alt="" />';
}
?>
// Awesome Facebook Application
//
// Name: workshopaholics
//
require_once 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => '---',
'secret' => '---',
'cookie' => true,
));
try {
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid FROM group_member WHERE gid = 197681136917749)'
));
echo '<pre>';
print_r($result);
echo '</pre>';
foreach($result as $user => $value)
{
echo '<img src="'.$value['pic_square'].'" alt="" />';
}
?>




