Domanda

sono 5 giorni che sono bloccato nell'implementazione di un semplice login fb e sto sbattendo la testa come un figlio di puttana. comunque.

Sono al punto in cui sto cercando di impostare manualmente accessToken. come mostrato in questo post.

https://github.com/facebook/php-sdk/ issue / 418 # issuecomment-2605012

l'unico problema è che la chiamata oauth / access_token restituisce niente e immagino che sia un comportamento piuttosto incasinato. questo è lo snippet che utilizzo per effettuare la chiamata

                $token_url = "https://graph.facebook.com/oauth/access_token?client_id=".FB_APPID."&redirect_uri=".urlencode($curUrl)."&client_secret=".FB_APPSECRET."&code=".$_GET['code'];
                log_to_file("curPageURL: ".$token_url);
                $response = file_get_contents($token_url);
                log_to_file("resp: ".$respone);

il log_to_file è un metodo personalizzato che registra il messaggio preso in un file in modo che io possa avere la situazione del log in uno scenario tail -f .

quello che succede qui è che il log "resp:". non restituisce nulla.

qualcuno ha riscontrato lo stesso problema?

grazie in anticipo. questa cosa mi sta facendo impazzire.

e posso affermare ufficialmente che fb sdk è il servizio più difettoso e documentato peggio Che abbia mai usato.

È stato utile?

Soluzione

Facebook ha l'API più mal documentata al mondo.Ricordo la volta che l'ho usato e non ho potuto fare a meno di imprecare tutto il tempo!:) Ecco un pezzo di pseudo-codice che ha funzionato per me.Ottiene il permesso da un utente di pubblicare un collegamento sulla sua bacheca.Lo sto solo postando in modo che forse tu possa prendere qualche suggerimento e far funzionare il tuo codice:

<?php

//A function for cURL operations.
function callFb($url)
{
            $ch = curl_init();
            curl_setopt_array($ch, array(
                CURLOPT_URL => $url,
                CURLOPT_RETURNTRANSFER => true
            ));

            $result = curl_exec($ch);
            curl_close($ch);
            return $result;
}

$url = "https://graph.facebook.com/oauth/access_token?client_id=<your_client_id>&redirect_uri=".urlencode("<the_url_where_the_user_is_redirected_after_granting_permission>")."&client_secret=<your_client_secret>";

/* Get access token. */
$access_token = callFb($url);

/* Parse the result to get access token */
$access_token = substr($access_token, strpos($access_token, "=")+1, strlen($access_token));

/* Save access token, if you want to for future.*/
mysql_query("INSERT INTO fb_auth_tokens (id,auth_token) VALUES('$_GET[id]','$auth_token')");

/* Post to users wall */

$apprequest_url = "https://graph.facebook.com/me/feed";
$mymessage="Hello World !";
$parameters = "?access_token=" . $access_token . "&message=" .
urlencode($mymessage) .
        "&link=".urlencode("<link_that_you_want_to_post>").
        "&description=<description_of_the_link>".
        "&method=post";
$myurl = $apprequest_url . $parameters;
$result = callFb($myurl);

// Thy shall be done. :)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top