Як розміщувати повідомлення на стіні на сторінці у Facebook (не в профілі)


86

У мене є веб-сайт блогу, написаний на php, і він автоматично публікує нові публікації в твіттері, а блог автоматично пінгує під капотом, використовуючи прості запити на публікації http, передані за допомогою php curl.

У мене є сторінка в Facebook для веб-сайту блогу, і я хочу, щоб оновлення розміщувались на стіні на цій сторінці, чи є простий спосіб це зробити?

Насправді я хочу URL-адресу та набір параметрів, які можна розсилити як запит на публікацію http.

Зверніть увагу, що це розміщення на стіні на новій сторінці стилю, а не профілю.

Заздалегідь спасибі.


Ви пробували Wiki для розробників Facebook за адресою wiki.developers.facebook.com/index.php/Main_Page чи деінде на веб-сайті їх розробника developers.facebook.com/?ref=pf ?
DOK

Я не займаюся розробкою facebook, але я думаю, що спочатку потрібно написати додаток fb, щоб мати дозвіл на це.
sepehr

Відповіді:


65

Отримайте PHP SDK від github і запустіть такий код:

<?php
$attachment = array(
    'message' => 'this is my message',
    'name' => 'This is my demo Facebook application!',
    'caption' => "Caption of the Post",
    'link' => 'http://mylink.com',
    'description' => 'this is a description',
    'picture' => 'http://mysite.com/pic.gif',
    'actions' => array(
        array(
            'name' => 'Get Search',
            'link' => 'http://www.google.com'
        )
    )
);

$result = $facebook->api('/me/feed/', 'post', $attachment);

наведений вище код розмістить повідомлення на вашій стіні ... і якщо ви хочете розмістити повідомлення на стіні своїх друзів чи інших, замініть його meна ідентифікатор користувача Facebook цього користувача .. для отримання додаткової інформації зверніться до Документації API.


цей код чудово працює !, але в дописі немає зображення .. Чого мені тут не вистачає? Дякую!
Дієго,

@Diego перевірте URL-адресу фотографії. у наведеному вище прикладі його mysite.com/pic.gif. отже, його буде вибрано для зображення за вказаною URL-адресою. так що спробуйте встановити його. будь ласка, перевірте документацію fb на будь-які зміни параметрів, тому що останній раз, коли я працював у ФБ, був серпень 2010 р.
Харіш Куруп

$ facebook - це змінна, вбудована в php install? якщо ні, то як створюється екземпляр $ facebook?
sadmicrowave

@sadmicrowave змінна $ facebook є об'єктом класу Facebook (можливо, змінила назву класу, тому, прочитавши документи, прочитайте документи після отримання ідеї). Вам потрібно створити екземпляр об’єкта за таким кодом "$ facebook = new Facebook (array ('appId' => APPID, 'secret' => SECRETKEY, 'cookie' => true));"
Harish Kurup

Вам також потрібно встановити PHP SDK у вашому додатку, щоб мати доступ до класу Facebook
mitchellhislop

9

Це працює для мене:

try {
       $statusUpdate = $facebook->api('/me/feed', 'post',
                 array('name'=>'My APP on Facebook','message'=> 'I am here working',
                 'privacy'=> array('value'=>'CUSTOM','friends'=>'SELF'),
                 'description'=>'testing my description',
                 'picture'=>'https://fbcdn-photos-a.akamaihd.net/mypicture.gif',
                 'caption'=>'apps.facebook.com/myapp','link'=>'http://apps.facebook.com/myapp'));
 } catch (FacebookApiException $e) {
      d($e);
}

У мене проблема з OAuth, помилка 200. Мій додаток запитує про сторінки керування, публікації_акцій, публікацію_потоку ... Будь-яка ідея?
Джепсер Бернардіно,

8

Тут Гаріш має відповідь - за винятком того, що вам потрібно запитати manage_pagesдозвіл під час автентифікації, а потім використовувати page-idзамість того, meщоб публікувати ....

$result = $facebook->api('page-id/feed/','post',$attachment);

1
але вам потрібно мати маркер доступу до сторінки, щоб опублікувати як сторінку
датський Iqbal

5

Ви не можете автоматично розміщувати повідомлення на стінах Facebook без створення програми та використання шаблонного видавця стрічок, як зазначив Френк.

Єдине, що ви можете зробити, це використовувати віджети "спільного доступу", які вони надають, які вимагають взаємодії користувача.


3

Якщо ваш блог видає стрічку RSS, ви можете використовувати програму Facebook " RSS Graffiti ", щоб розмістити цю стрічку на своїй стіні у Facebook. Є й інші програми Facebook для RSS; просто шукайте "Facebook для додатків RSS" ...


0

Ви можете здійснювати дзвінки api, вибираючи метод HTTP та встановлюючи додаткові параметри:

$facebook->api('/me/feed/', 'post', array(
    'message' => 'I want to display this message on my wall'
));

Надіслати допис на стіну Facebook:

Включіть файл fbConfig.php для підключення Facebook API та отримання маркера доступу.

Повідомлення, ім’я, посилання, опис та зображення будуть надіслані на стіну Facebook. Буде відображено статус публікації.

Якщо маркер доступу до FB ($ accessToken) недоступний, буде створено URL-адресу для входу в Facebook, а користувач буде перенаправлений на сторінку входу в FB.

Опублікувати на стіні facebook php sdk

<?php
//Include FB config file
require_once 'fbConfig.php';

if(isset($accessToken)){
    if(isset($_SESSION['facebook_access_token'])){
        $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
    }else{
        // Put short-lived access token in session
        $_SESSION['facebook_access_token'] = (string) $accessToken;

        // OAuth 2.0 client handler helps to manage access tokens
        $oAuth2Client = $fb->getOAuth2Client();

        // Exchanges a short-lived access token for a long-lived one
        $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);
        $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken;

        // Set default access token to be used in script
        $fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
    }

    //FB post content
    $message = 'Test message from CodexWorld.com website';
    $title = 'Post From Website';
    $link = 'http://www.codexworld.com/';
    $description = 'CodexWorld is a programming blog.';
    $picture = 'http://www.codexworld.com/wp-content/uploads/2015/12/www-codexworld-com-programming-blog.png';

    $attachment = array(
        'message' => $message,
        'name' => $title,
        'link' => $link,
        'description' => $description,
        'picture'=>$picture,
    );

    try{
        //Post to Facebook
        $fb->post('/me/feed', $attachment, $accessToken);

        //Display post submission status
        echo 'The post was submitted successfully to Facebook timeline.';
    }catch(FacebookResponseException $e){
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    }catch(FacebookSDKException $e){
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }
}else{
    //Get FB login URL
    $fbLoginURL = $helper->getLoginUrl($redirectURL, $fbPermissions);

    //Redirect to FB login
    header("Location:".$fbLoginURL);
}

Посилання:

https://github.com/facebookarchive/facebook-php-sdk

https://developers.facebook.com/docs/pages/publishing/

https://developers.facebook.com/docs/php/gettingstarted

http://www.pontikis.net/blog/auto_post_on_facebook_with_php

https://www.codexworld.com/post-to-facebook-wall-from-website-php-sdk/


Дякую. Ви пробували код? Фрагменти попереднього перегляду користувацьких посилань застаріли, тому код не буде розміщений на сторінці ( developers.facebook.com/blog/post/2017/06/27/… )
user919426
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.