Facebook PHP SKD v5 - wysyłanie postów na swój fanpage

0

Witam
Próbuje stworzyć mechanizm, za pomocą którego będę mógł czytać i pisać wiadomości z i na tablice swojej strony na facebooku (czyt. page/fanpage).
W dokumentacji opisanej na stronie facebook developer dotyczącej SDK do PHP wczytałem większość interesujących mnie rzeczy. Udaje mi się pobierać dane z mojej strony do tablicy php za pomoca jsona, lecz nie potrafię wysyłać wiadomości na tablicę. Próbuję to zrobić za pomocą funkcji $fb->post(); jednak nie dokońca mi to wychodzi. gdyż przy próbie wysłania posta wyskakuje mi błąd "Graph returned an error: Invalid parameter"

Poniżej kod skryptu php

 <?php
session_start();
require_once __DIR__ . '/vendor/facebook-php-sdk-v4-5.0-dev/src/Facebook/autoload.php';

//use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\Authentication\AccessToken; 
//use Facebook\GraphUser;
//use Facebook\FacebookRequestException;

$fb = new Facebook\Facebook([
    'app_id' => '************',
    'app_secret' => '****************************',
    'default_graph_version' => 'v2.4',
        ]);
$page_id = '****************'; 
// Tu jest 60-dniowy access_token który wygenerowałem sobie manualnie
$access_token =  '*********************************'; 
// Tu jest kod który pobiera i drukuje wszystkie posty ze strony facebookowej
$object = $fb->get('.$page_id.'/feed', $access_token); 
$posts_array = $object->getDecodedBody();

print_r($posts_array['data']); 

// Tu zaczyna się kod do postowania 
$linkData = [
  'link' => 'http://www.example.com',
  'message' => 'User provided message',
  ];

try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post('/'.$page_id.'/feed', $linkData, $access_token);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

$graphNode = $response->getGraphNode();

echo 'Posted with id: ' . $graphNode['id'];
0

Problem rozwiązany, skasowałem parametr 'link' w tablicy $linkData i wszystko jest ok. Post wysyłany jest poprwanie i zwraca swoje id. Temat do zamknięcia.

0

Interesuje mnie w którym miejscu wygenerowałeś ten 60 dniowy token, bo sam go pobieram przy ręcznym logowaniu ze swojego konta i tak na prawdę nie wiem ile będzie on ważny, bo na facebook api developer pisze jedynie że jest to token długoterminowy. Może znasz funkcję sprawdzająca ważność tokena także?

0

Pobieram go korzystając z tej metody http://stackoverflow.com/questions/10467272/get-long-live-access-token-from-facebook A co do sprawdzania ile jeszcze zostało do wygaśnięcia to teoretycznie API facebooka dostarcza funkcje expieAt(); ale nie wiem czemu ta funkcja nic mi nie zwraca, jestem na etapie szukania rozwiązania aby pobierać ten token w jakiś bardziej cywilizowany sposób i sprawdzać ile jeszcze zostało do jego wygaśnięcia. Jak znajdę rozwiązanie to na pewno dam znać ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1