2016-09-01 16 views
6

Po pobraniu facebook sdk for php próbowałem uruchomić following. Kod jest:FacebookRequest :: execute() nie znajduje się na facebook sdk

function QueryToRetrieveUserThroughID(string $id) { 

     $newFacebookApp = new Facebook\FacebookApp(app-id, app-secret); 
     $request = new Facebook\FacebookRequest(
       $newFacebookApp, 'GET', '/' . $id 
     ); 
     $response = $request->execute(); 
     $graphObject = $request->getGraphObject(); 
    } 

choć po osiągnięciu linii $response = $request->execute(); produkuje:

Fatal error: Uncaught Error: Call to undefined method Facebook\FacebookRequest::execute() 

robię coś złego tutaj na pomysł jak wykorzystać API lub wręcz FacebookRequest :: wykonać nie istnieć??

+1

To kod napisany w PHP SDK v4, natomiast obecna wersja jest v5. Zacznij tutaj: https://developers.facebook.com/docs/php/ – CBroe

Odpowiedz

5

To jest rzeczywiście problem na Facebooku na stronie deweloperów Facebook SDK for PHP jak opisano na Issue #509 którym kody próbki na stronie są rzeczywiście dla SDK v4, wytwarzając w ten sposób błędy przy stosowaniu na v5.

Aktualna dokumentacja jest przechowywana pod adresem https://github.com/facebook/php-graph-sdk/blob/5.5/docs/reference.md.

Korzystanie SDK v5:

// PHP GRAPH SDK 5.5 
function QueryToRetrieveUserThroughID(string $id) { 

    $newFacebook = new Facebook\Facebook([ 
     'app_id' => '{app-id}', 
     'app_secret' => '{app-secret}', 
     'default_graph_version' => 'v2.5', 
    ]); 

    $newFacebookApp = $newFacebook->getApp(); 
    $response = $newFacebook->get($id, '{access-token}'); 
    // or $response = $newFacebook->get($id); 

    $graphObject = $response->getGraphObject(); 
} 
+0

Chcę dodać do tego, że Eksplorator Graph Facebooka również tworzy kod v4. To odpowiada na moje pytanie. – Jacob