Bagaimana Anda memposting ke dinding di halaman facebook (bukan profil)

86

Saya memiliki situs blog yang ditulis dalam php dan memposting posting blog baru ke twitter dan ping blog secara otomatis di bawah tenda menggunakan permintaan posting http sederhana yang dilewatkan menggunakan php curl.

Saya memiliki halaman facebook untuk situs blog dan ingin update diposting ke dinding di halaman tersebut, apakah ada cara sederhana untuk melakukan ini?

Yang benar-benar saya inginkan adalah url dan kumpulan params untuk dipaketkan sebagai permintaan posting http.

Perhatikan bahwa ini untuk memposting ke dinding pada halaman gaya baru, bukan profil.

Terima kasih sebelumnya.

Tikar
sumber
Sudahkah Anda mencoba Wiki Pengembang Facebook di wiki.developers.facebook.com/index.php/Main_Page atau di tempat lain di pengembang situs pengembang mereka.facebook.com/?ref=pf ?
DOK
Saya tidak menyukai pengembang facebook tetapi saya pikir Anda harus menulis aplikasi fb terlebih dahulu, agar diizinkan untuk melakukan itu.
sepehr

Jawaban:

65

Dapatkan PHP SDK dari github dan jalankan kode berikut:

<?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);

kode di atas akan memposting pesan ke dinding Anda ... dan jika Anda ingin memposting ke dinding teman atau orang lain maka ganti medengan ID Pengguna Facebook dari pengguna itu .. untuk informasi lebih lanjut lihat Dokumentasi API.

Harish Kurup
sumber
kode itu berfungsi dengan baik !, tetapi di pos tidak ada gambar .. Apa yang saya lewatkan di sini? Terima kasih!
Diego
@Diego memeriksa URL foto. pada contoh di atas mysite.com/pic.gif. jadi itu akan mengambil gambar di url yang diberikan. jadi coba atur. tolong periksa dokumentasi fb untuk setiap perubahan parameter, karena terakhir kali saya bekerja di depan FB adalah Agustus 2010 ..
Harish Kurup
apakah $ facebook merupakan variabel yang terpasang pada instalasi php? jika tidak, bagaimana instance $ facebook dibuat?
sadmicrowave
@sadmicrowave variabel $ facebook adalah objek dari kelas Facebook (mungkin telah mengubah nama kelas jadi silakan baca dokumen setelah mendapatkan idenya). Anda perlu membuat instance objek dengan kode berikut "$ facebook = new Facebook (array ('appId' => APPID, 'secret' => SECRETKEY, 'cookie' => true));"
Harish Kurup
Anda juga harus menginstal PHP SDK di aplikasi Anda untuk memiliki akses ke kelas Facebook
mitchellhislop
9

Ini bekerja untuk saya:

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);
}
Helton Uchoa
sumber
Saya mengalami masalah dengan OAuth, kesalahan 200. APLIKASI saya meminta manage_pages, publish_actions, publish_stream ... Ada ide?
Jepser Bernardino
8

Harish memiliki jawabannya di sini - kecuali Anda perlu meminta manage_pagesizin saat mengautentikasi dan kemudian menggunakan page-idalih - alih mesaat memposting ....

$result = $facebook->api('page-id/feed/','post',$attachment);
Harga Phill
sumber
1
tetapi Anda harus memerlukan token akses halaman untuk memposting sebagai halaman
Danish Iqbal
5

Anda tidak dapat memposting ke dinding Facebook secara otomatis tanpa membuat aplikasi dan menggunakan penerbit feed template seperti yang ditunjukkan Frank.

Satu-satunya hal yang dapat Anda lakukan adalah menggunakan widget 'bagikan' yang mereka sediakan, yang memerlukan interaksi pengguna.

Darryl E. Clarke
sumber
3

Jika blog Anda mengeluarkan umpan RSS, Anda dapat menggunakan aplikasi " RSS Graffiti " Facebook untuk mengirim umpan itu ke dinding Anda di Facebook. Ada juga aplikasi RSS Facebook lainnya; cukup cari "Facebook untuk aplikasi RSS" ...

Ricky
sumber
0

Anda dapat melakukan panggilan api dengan memilih metode HTTP dan menyetel parameter opsional:

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

Kirim Posting ke Dinding Facebook:

Sertakan file fbConfig.php untuk menghubungkan API Facebook dan mendapatkan token akses.

Posting pesan, nama, link, deskripsi, dan gambar akan dikirimkan ke wall Facebook. Status pengiriman posting akan ditampilkan.

Jika token akses FB ($ accessToken) tidak tersedia, URL Login Facebook akan dibuat dan pengguna akan diarahkan ke halaman login FB.

Posting ke facebook wall 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);
}

Refrensi:

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/

Farhad
sumber
Terima kasih. Apakah Anda sudah mencoba kodenya? Cuplikan Pratinjau Tautan Khusus sekarang sudah usang, sehingga kode tidak akan dikirim ke halaman ( developers.facebook.com/blog/post/2017/06/27/… )
user919426