2015-08-21 5 views
1

Я хочу, чтобы мой веб-сайт опубликовал сообщение на странице поклонника веб-сайта.Опубликовать сообщение на Facebook с curl

Поэтому я использую этот код, который я нашел:

<?php 
require_once("assets/facebook.php"); 

$facebook = new Facebook(array(
'appId' => '471898006354908', // Fake 
'secret' => 'd2f7fb2dbc0ab7f42bc1c4337ab041b1', // Fake 
'cookie' => true 
)); 

$access_token = $facebook->getAccessToken(); 
echo $access_token; 

$msg = "testmsg"; 
$title = "testt"; 
$uri = "http://somesite.com"; 
$desc = "testd"; 
$pic = "http://static.adzerk.net/Advertisers/d18eea9d28f3490b8dcbfa9e38f8336e.jpg"; 
$attachment = array(
    'access_token' => $access_token, 
    'message' => $msg, 
    'name' => $title, 
    'link' => $uri, 
    'description' => $desc, 
    'picture'=>$pic, 
    'actions' => json_encode(array('name' => $action_name,'link' => $action_link)) 
); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/me/feed'); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output 
$result = curl_exec($ch); 
curl_close ($ch); 

?> 

Каждый раз, когда я исполняю страницу он повторяет мне что-то вроде этого:

471898006354908|d2f7fb2dbc0ab7f42bc1c4337ab041b1 

Но это ничего не оставлять на моей странице вентилятора ?

Любая помощь пожалуйста?

ответ

-2

Используйте API Facebook/SDK.

Возможно, это запрещено в ToS и активно предотвращено. Они обнаруживают агента и используют другие средства, чтобы предотвратить выполнение этого с помощью cURL.

Или вам нужно хотя бы перепрыгнуть через пару удостоверений личности, чтобы избежать злоупотреблений. Проверьте этот прошлый пост и, пожалуйста, закройте его, если вы посчитаете свой вопрос обманом. Post to a Facebook user's wall with cURL PHP

+0

Хорошо, я попробую. У вас есть учебник? – teamo

+0

Я уверен, что в Интернете есть много учебников. Просто убедитесь, что вы также проверяете фактическую документацию FB, чтобы убедиться, что используете последний/текущий код. Начните здесь: https://github.com/facebook/facebook-php-sdk-v4, затем Google на примерах ... Удачи – ficuscr

+1

это совершенно не имеет значения, если вы используете завиток самостоятельно или facebook sdk (который также использует curl). важно не предварительно заполнять параметр сообщения. – luschn

2

Если это все код, который вы нашли, то вам не хватает одной важной части: процесса входа в систему. Это подробно объясняется в документах: https://developers.facebook.com/docs/facebook-login/v2.4

Прямо сейчас кажется, что вы используете токен доступа к приложениям, но вам нужен токен доступа пользователя, разрешенный с разрешением publish_actions. Убедитесь, что вы понимаете, все различные лексем, вот некоторые ссылки о тех:

Не забудьте прочитать о Вход Обзор тоже, если вы хотите пойти общественности с вашим приложением: https://developers.facebook.com/docs/facebook-login/review

Использование ваших собственных вызовов CURL прекрасно, кстати, я бы не предложил использовать PHP SDK для небольших проектов, потому что это просто избыток, и PHP SDK тоже использует CURL. В конце концов, это всего лишь куча PHP-классов. Просто убедитесь, что вы не заполняете параметр сообщения, потому что это запрещено в соответствии с platform policy.