2011-04-27 2 views
0

Я новичок в разработке приложений для facebook, и я зациклился на том, как отправлять сообщения на facebook. Я читал учебники и делаю в соответствии с ними.Застрял в публикации на facebook

Вот код:

<?php 

require 'facebook.php'; 
// Create our Application instance (replace this with your appId and secret). 

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; 
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2; 

$facebook = new Facebook(array(
    'appId' => 'xxx', 
    'secret' => 'xxx', 
    'cookie' => true, 
)); 


//Request params 
if(!($_GET['code'])) { 
    header("Location:https://www.facebook.com/dialog/oauth?client_id=xxx&redirect_uri=" . urlencode("http://localhost/facebook/examples/") . "&scope=publish_stream"); 
    //header("Location:http://www.google.com"); 
    exit; 
} 

$token = $_GET['code']; 
echo "token " . $token 


$status = $facebook->api('/me/feed', 'POST', array('message' => 'This post came from my app.', 'access_token' => $token)); 
var_dump($status); 

?> 

Результат:
Фатальная ошибка: Uncaught OAuthException: Bad подпись выброшен в C: \ WAMP \ WWW \ facebook \ Примеры \ facebook.php на линии 543

Я что-то пропустил?

ответ

0

Хорошо, вы используете исходный логин OAuth и в то же время используете фреймворк php SDK. Не делайте это так, если вы используете SDK нам весь путь:

 
<?php 

require 'facebook.php'; 
// Create our Application instance (replace this with your appId and secret). 

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; 
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2; 

$facebook = new Facebook(array(
    'appId' => 'xxx', 
    'secret' => 'xxx', 
    'cookie' => true, 
)); 

if (!$facebook->getSession()) 
{ 
    header('Location: ' . $facebook->getLoginUrl(array('req_perms' => 'publish_stream'))); 
} 
else 
{ 
    $status = $facebook->api('/me/feed', 'POST', array('message' => 'This post came from my app.')); 
    var_dump($status); 
} 

?> 

SDK будет обрабатывать жетон его самостоятельно;)

Смежные вопросы