Я пробовал до вчерашнего дня, чтобы создать сценарий, который автоматически публикуется на странице facebook.FACEBOOK SDK 4 - Авто сообщение на страницу
1 - Я хотел получить «User Token App», срок действия которого истекал каждые 1 час. Я попытался завиток, file_get_content ....
С нового SDK у вас есть только три варианта сессия по редиректу, холст или JavaScript ...
Смотрите мою последнюю попытку с «маркерами» App
<?php
require_once('Facebook/HttpClients/FacebookHttpable.php');
require_once('Facebook/HttpClients/FacebookCurl.php');
require_once('Facebook/HttpClients/FacebookCurlHttpClient.php');
require_once('Facebook/FacebookSignedRequestFromInputHelper.php');
require_once('Facebook/Entities/AccessToken.php');
require_once('Facebook/Entities/SignedRequest.php');
require_once('Facebook/FacebookSession.php');
require_once('Facebook/FacebookRedirectLoginHelper.php');
require_once('Facebook/FacebookCanvasLoginHelper.php');
require_once('Facebook/FacebookJavaScriptLoginHelper.php');
require_once('Facebook/FacebookRequest.php');
require_once('Facebook/FacebookResponse.php');
require_once('Facebook/FacebookSDKException.php');
require_once('Facebook/FacebookRequestException.php');
require_once('Facebook/FacebookServerException.php');
require_once('Facebook/FacebookOtherException.php');
require_once('Facebook/FacebookAuthorizationException.php');
require_once('Facebook/GraphObject.php');
require_once('Facebook/GraphSessionInfo.php');
require_once('Facebook/FacebookPermissionException.php');
use Facebook\HttpClients\FacebookHttpable;
use Facebook\HttpClients\FacebookCurl;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\FacebookSignedRequestFromInputHelper;
use Facebook\Entities\AccessToken;
use Facebook\Entities\SignedRequest;
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookCanvasLoginHelper;
use Facebook\FacebookJavaScriptLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookServerException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
use Facebook\FacebookPermissionException;
session_start();
class RedditFacebook
{
protected static $app_id;
protected static $app_secret;
protected static $page_id;
protected static $redirect_uri;
protected static $app_token;
protected static $redirect_url;
function __construct()
{
$this->app_id = "68183546459998";
$this->app_secret = "9270dbghfgh45654c10a799be9f35497";
$this->page_id = "doyouwatch";
$this->redirect_uri = "http://dojkjhkch";
$this->redirect_url = "http://doyhjkhjtch/librarihjkes/redhkjdit-facebook.php";
$this->app_token = "fghfghfghfgh654|5fgh4d6g4dfg";
$this->shareToFacebook();
}
private function getShortToken($session)
{
}
private function shareToFacebook()
{
FacebookSession::setDefaultApplication('681837726456456455242938','9270dbcertbfe2erterttcadc9c10a799be9f35497');
$session = new FacebookSession($this->app_token);
if($session) {
try {
$response = (new FacebookRequest(
$session, 'POST', '/'.$this->page_id.'/feed', array(
'message' => "message",
'link' => "http://doyou.watch",
'picture' => "http://doyou.watch"
)
))->execute()->getGraphObject();
echo "Posted with id: " . $response->getProperty('id');
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
} else {
echo "No Session available!";
}
echo '<pre>',print_r($session, 1),'</pre>';
/*
if($session)
{
try
{
//$post_title = "Do You Watch - ".$post_title."";
$page_post = (new FacebookRequest($session, 'POST', '/'. $this->page_id .'/feed', array(
'access_token' => $this->app_token,
//title caption
'name' => "caption_title",
'link' => "http://doyou.watch",
//message caption
'caption' => "caption_description",
//title first message
'message' => "post_title"
)))->execute()->getGraphObject()->asArray();
//error_log("New post facebook send: ".$link."", 0);
}
catch(FacebookRequestException $e)
{
error_log("Exception occured, code:". $e->getCode()."", 0);
error_log("with message: ". $e->getMessage()."", 0);
}
}
else
{
error_log("No Session available!", 0);
}
*/
}
}
$obj = new RedditFacebook();
Ошибка: Возникло исключение, код: 200 с сообщением: (# 200) пользователь не авторизован приложение для выполнения этого действия
Я не вижу, чтобы вы просили разрешения на публикацию в любом месте вашего кода. – CBroe
Это была моя последняя попытка с app_token. –