Bir facebook sayfasındaki duvara nasıl mesaj yazarsın (profile değil)


86

Php ile yazılmış bir blog sitem var ve twitter'a yeni blog gönderileri gönderiyor ve php curl kullanılarak geçirilen basit http gönderi isteklerini kullanarak otomatik olarak başlık altında bir blog pingi gönderiyor.

Blog sitesi için bir facebook sayfam var ve güncellemelerin sayfadaki duvarda yayınlanmasını istiyorum, bunu yapmanın basit bir yolu var mı?

Gerçekten istediğim şey, bir http gönderi isteği olarak paketlenecek bir url ve parametreler kümesidir.

Bunun bir profile değil, yeni bir stil sayfasındaki duvara göndermek olduğunu unutmayın.

Şimdiden teşekkürler.



Facebook geliştirmeyle ilgilenmiyorum, ancak bunu yapmaya yetkili olmak için önce bir fb uygulaması yazmanız gerektiğini düşünüyorum.
sepehr

Yanıtlar:


65

PHP SDK'yı github'dan alın ve aşağıdaki kodu çalıştırın:

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

Yukarıdaki kod, mesajı duvarınıza gönderecektir ... ve arkadaşlarınızın veya başkalarının duvarına göndermek istiyorsanız, o mekullanıcının Facebook Kullanıcı Kimliği ile değiştirin ... Daha fazla bilgi için API Dokümantasyonuna bakın.


bu kod harika çalışıyor !, ama gönderide resim yok .. Burada neyi özlüyorum? Teşekkürler!
Diego

@Diego resimler URL'sini kontrol edin. yukarıdaki örnekte mysite.com/pic.gif. bu yüzden verilen url'deki resim için getirilecek. bu yüzden ayarlamayı deneyin. Lütfen parametrelerdeki herhangi bir değişiklik olup olmadığını kontrol edin, çünkü FB cephesinde en son çalıştığım 2010
Ağustos'du

$ facebook php kurulumunda yerleşik bir değişken mi? değilse, $ facebook örneği nasıl oluşturulur?
sadmicrowave

@sadmicrowave $ facebook değişkeni, Facebook sınıfının nesnesidir (sınıf adını değiştirmiş olabilir, bu yüzden lütfen fikri aldıktan sonra dokümanları okuyun). Nesneyi şu kodla başlatmanız gerekir "$ facebook = new Facebook (array ('appId' => APPID, 'secret' => SECRETKEY, 'cookie' => true));"
Harish Kurup

Facebook sınıfına erişebilmek için uygulamanızda PHP SDK'nın kurulu olması gerekir
mitchellhislop

9

Bu benim için çalışıyor:

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 ile ilgili bir sorun yaşıyorum, hata 200. Uygulamam yönetme_sayfaları, yayın_yönetim eylemleri, yayın_ akışı istiyor ... Herhangi bir fikriniz var mı?
Jepser Bernardino

8

Cevabı Harish burada - ancak manage_pageskimlik doğrulaması yaparken izin istemeniz ve sonra gönderirken page-idyerine seçeneğini kullanmanız gerekir me....

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

1
ancak sayfa olarak göndermek için sayfa erişim jetonuna ihtiyacınız var
Danish Iqbal

5

Bir uygulama oluşturmadan ve Frank'in belirttiği gibi şablon yayın yayıncısını kullanmadan Facebook duvarlarına otomatik olarak mesaj gönderemezsiniz.

Yapabileceğiniz tek şey, sağladıkları ve kullanıcı etkileşimi gerektiren 'paylaş' pencere öğelerini kullanmaktır.


3

Blogunuz bir RSS beslemesi veriyorsa, o beslemeyi Facebook duvarınıza göndermek için Facebook'un " RSS Graffiti " uygulamasını kullanabilirsiniz. Başka RSS Facebook uygulamaları da var; sadece "RSS uygulamaları için Facebook" u arayın ...


0

HTTP yöntemini seçerek ve isteğe bağlı parametreleri ayarlayarak api çağrıları yapabilirsiniz:

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

Gönderiyi Facebook Duvarına Gönder:

Facebook API'sini bağlamak ve erişim belirtecini almak için fbConfig.php dosyasını dahil edin.

Mesaj, isim, bağlantı, açıklama ve resim Facebook duvarına gönderilecektir. Gönderi gönderme durumu gösterilecektir.

FB erişim belirteci ($ accessToken) mevcut değilse, Facebook Oturum Açma URL'si oluşturulacak ve kullanıcı FB oturum açma sayfasına yeniden yönlendirilecektir.

Facebook duvarına gönder 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);
}

Kaynaklar:

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/


Teşekkürler. Yine de kodu denedin mi? Özel Bağlantı Önizleme Parçacıkları artık kullanılmıyor, bu nedenle kod bir sayfaya gönderilmeyecek ( developer.facebook.com/blog/post/2017/06/27/… )
user919426
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.