#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 сам обработает токен 😉