Avatar billede dondy-kurt Nybegynder
26. juni 2012 - 16:01 Der er 3 kommentarer og
1 løsning

facebook api problem

Hej Eksperter

Jeg er ved at lave et website der trækker en facebook sides begivenheder ud i en liste. Her bruger jeg facebooks api: http://developers.facebook.com/tools/explorer?method=GET&path=228981910556748, og det virker faktisk utrolig godt!

Meeeen....
Da der i denne liste af begivenheder ikke er hvor mange der deltager i begivenheden skal jeg ind og hente deltager listen ud, og så derefter tælle på hvor mange der er i listen. Link til deltager listen: http://developers.facebook.com/tools/explorer?method=GET&path=228981910556748%2Fattending

Her er php filen jeg får det hele til at ske med:

facebook_event.php
*******************************************
function getAll(){
        require_once('facebook_connect.php');
       
        $fql    =  "SELECT name, pic, start_time, end_time, location, description
                FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = 143544832405718 )
                ORDER BY start_time asc";
               
        $param  =  array(
        'method'    => 'fql.query',
        'query'    => $fql,
        'callback'  => ''
        );
       
        $fqlResult = $facebook->api($param);
       
        return $fqlResult;
    }
       
    function events(){   
        require_once('facebook_connect.php');
       
        try {
            $result = $facebook->api('143544832405718/events');
            return "Succes!";
        } catch (Exception $e) {
            return "Failed!";
        }
       
        //$friendcount = COUNT($myfriends['data']) + 1;
       
    }
*******************************************

Og på min index.php henter jeg det ud således

index.php
*******************************************
include("facebook_event.php");

$all = getAll();
foreach( $all as $keys => $values ){
    echo "<div>". $values['name'] ."<br />";
    echo $values['location'] ."<br />";
    echo "fra ". date( 'l, F d, Y', $values['start_time']) ." til ". date( 'l, F d, Y', $values['end_time'] ) ."</div>";
}

$allFriends = events();
echo $allFriends;
*******************************************

Her er siden hvor resultater kommer ud: http://demo.dkurt.dk/facebookapi/
Som i kan se så kommer listen helt fantastisk ud, men det gør min return fra funktionen "events" ikke? :S

Er der nogle der ved hvad jeg gør galt her?
Avatar billede olebole Juniormester
26. juni 2012 - 18:16 #1
<ole>

Dit Facebook namespace i HTML-tagget er i hvertfald en fejl. Det må ikke stå der - men det er ikke det, der skaber det omtalte problem.

Funktionen events returnerer (måske) "Succes!" eller "Failed!", hvorfor $allFriends i bedste fald kommer til at indeholde et af disse ord i linjen:

$allFriends = events();

/mvh
</bole>
Avatar billede olebole Juniormester
26. juni 2012 - 18:19 #2
Er du sikker på, fejlmeldinger ikke er slået fra i din PHP-opsætning?

har du prøvet noget fejlfinding? Hvis ikke kan du som det allerførste prøve nogle echo'er i funktionen og se, hvad der sker, og hvor langt du kommer
Avatar billede dondy-kurt Nybegynder
26. juni 2012 - 20:18 #3
Hvordan slår jeg fejlmeldinger til  php? Jeg er sådan set ret ny i php :)

Men jeg fandt da ud af at det var noget så simpelt som at der ikke må stå "require_once", to gange men blot "require" :D
Avatar billede olebole Juniormester
26. juni 2012 - 22:30 #4
Hvad laver jeg ...?!??!!! Sorry, men det overså jeg fuldstændig. Ja, 'once' never works 'twice'  *o)

Fik du ikke en fejlmelding om dén fejl, er de helt klart slået fra. Det sættes sammen med andre konfigurations direktiver i filen php.ini - men det kræver, man har administrator rettigheder.

Ellers kan du sætte det på dokumentniveau med error_reporting som det allerførste lige efter <?php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester