Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Facebook PHP SDK - wysyłanie postu na stronę jako admin
Forum PHP.pl > Forum > Przedszkole
Misiur66
Witam. Siedzę od 3 godzin nad tym badziewiem próbując wszystkich sposobów napotkanych w googlach, ale nic nie działa. Dokumentacja facebooka nic nie pomaga, a tylko dodaje zamieszanie (2 alternatywne wersje API). Tak więc buduję stronę dla serwisu, który poprosił o zintegrowanie z facebookiem - gdy zaznaczą checkboxa ma dodać na ich stronie FB newsa. Najdalej doszedłem z poniższym kodem - co prawda publikuje na stronie (zarówno przy zalogowanym jak i nie), ale:

1. Autorem jest nie "Nazwa strony" tylko "Nazwa profilu" (akurat to by mi nie przeszkadzało, chociaż byłbym wdzięczny gdyby i to zupgrade'ować)
2. Post nie jest widoczny dla nikogo poza autorem (niewidoczny dla niezalogowanego, dla zalogowanego, dla lubiącego i dla znajomego)

Nie wiem jak to naprawić, poproszę o linki/porady/własne doświadczenia. Dziękuję

Kod
private function post_facebook($data=null){
        $result = "";
        require_once (ROOT. "/apps/configuration/models/ConfigurationItem.php");
        require_once (ROOT . "/components/facebook/facebook.php");
        
        $this->ConfigurationItem = new ConfigurationItem($this->getContext());

        $row=$this->ConfigurationItem->findByCatKeyItemKey('system','facebook_login');
        $apiid=$row['value'];

        $row=$this->ConfigurationItem->findByCatKeyItemKey('system','facebook_pass');
        $secret=$row['value'];
        
        $facebook = new Facebook(array(
          'appId'  => $apiid,
          'secret' => $secret,
          'cookie' => true,
        ));
        
        //Facebook zainicjowany
        
        //Pobierz status sesji
        $session = $facebook->getSession();
        $me = null;
        if ($session) {
            try {
                $uid = $facebook->getUser();
                $me = $facebook->api('/me');
            } catch (FacebookApiException $e) {
                error_log($e);
            }
            $message=$data['facebook_text'];
            $attachment = array(
                'message' => $data['facebook_text'],
                'name' => $data['name'],
                'link' => $this->getLinkToLatestNews(),
                'description' => '',
            );
            
            if($data['thumb_file_tree_id'] !== NULL) $attachment['picture'] = 'http://'.$_SERVER['HTTP_HOST']."media/file/image_by_id/".$data['thumb_file_tree_id']."/?w=400&h=500";
            
            try {
                $facebook->api('/162618213751448/feed/', 'post', $attachment);
                $result = "Facebook: Poprawnie wysłano";
            } catch (FacebookApiException $e) {
                $result = "Facebook: Nie wysłano";
                error_log($e);
            }
        } else {
            $login_url = $facebook->getLoginUrl();
            header("Location: ".$login_url);
            exit;
        }
        
        return $result;

    }
Zoltarianie
ehhh... czemu tu nic nie ma?! :?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.