Domanda

sto usando questa libreria per l'accesso Facebook graph API all'interno del mio progetto CodeIgniter: http://www.haughin.com/code/facebook/

Il mio web app utilizza il Facebook JS SDK per autenticare gli utenti sul lato client, quindi subito dopo un login è completato user-id e la sessione oggetto dell'utente vengono inviati al server tramite una richiesta AJAX. Voglio fare una chiamata al API grafico dal server per ricevere le informazioni di base per l'utente, quindi mi chiedo se c'è un modo per bypassare il bisogno di chiamare il metodo facebook-> login () per ricevere una sessione tramite un reindirizzare da facebook? Qualcuno sa come fare questo?

È stato utile?

Soluzione

Non consiglio il Facebook SDK a tutti. Hai un controllo molto di più se si fanno le cose da soli e diventa molto più semplice. Basta impostare una funzione cURL come:

function curl($url, $request = 'GET'){
    $ch = curl_init();
    $curlopt = array(
        CURLOPT_URL => $url,
        CURLOPT_CUSTOMREQUEST => $request,
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 60,
        CURLOPT_USERAGENT      => 'facebook-php-2.0',
    );
    curl_setopt_array($ch, $curlopt);
    $response = curl_exec($ch);
    if($response === false)
        trigger_error(curl_error($ch));
    curl_close($ch);
    return $response;
}

E poi una funzione API di Facebook come:

function fb_api($url, $access_token = false, $request = 'GET'){
    $url = 'https://graph.facebook.com/'.$url;
    if($access_token)
        $url .= (strstr($url, '?') ? '&' : '?').'access_token='.$access_token;
    return json_decode(curl($url, $request), true);
}

Poi si può rendere la vostra richiesta al api grafico come:

fb_api('me', $access_token);

Altri suggerimenti

Se, per qualche modo non avete installato ricciolo, si può sempre usare la mia biblioteca Proxy: http: / /codeigniter.com/forums/viewthread/186250/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top