Застрять при публикации в facebook

#facebook #facebook-graph-api

#Facebook #facebook-graph-api

Вопрос:

Я новичок в разработке приложений 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=xxxamp;redirect_uri=" . urlencode("http://localhost/facebook/examples/") . "amp;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);

?>
  

Результат:
Неустранимая ошибка: неперехваченное исключение OAuthException: введена неверная подпись C:wampwwwfacebookexamplesfacebook.php в строке 543

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

Ответ №1:

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

<?php

требовать 'facebook.php ';
// Создайте наш экземпляр приложения (замените его своим AppID и secret).

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

$ facebook = новый Facebook (массив( 
 'AppID' => 'xxx', 
 'секретно' => 'xxx', 
 'cookie' => true, 
));

if (!$facebook-> getSession()) 
{
 заголовок('Location: ' . $facebook->getLoginUrl(array('req_perms' => 'publish_stream')));
}
ещё
{
 $status = $facebook->api('/ me / feed', 'POST', array ('message' => 'Это сообщение пришло из моего приложения.'));
 var_dump($ status);
}

?>

SDK сам обработает токен 😉