คุณโพสต์ไปที่หน้าวอลล์บนหน้า Facebook อย่างไร (ไม่ใช่โปรไฟล์)


86

ฉันมีไซต์บล็อกที่เขียนด้วย php และโพสต์บล็อกโพสต์ใหม่ไปยัง twitter และบล็อก ping โดยอัตโนมัติภายใต้ประทุนโดยใช้คำขอโพสต์ http ง่ายๆที่ส่งผ่านโดยใช้ php curl

ฉันมีหน้า Facebook สำหรับไซต์บล็อกและต้องการให้การอัปเดตโพสต์บนหน้าวอลล์มีวิธีง่ายๆในการทำเช่นนี้หรือไม่?

สิ่งที่ฉันต้องการจริงๆคือ url และชุดพารามิเตอร์ที่จะจัดส่งเป็นคำขอโพสต์ http

โปรดทราบว่านี่เป็นการโพสต์บนหน้าวอลล์ในเพจรูปแบบใหม่ไม่ใช่โปรไฟล์

ขอบคุณล่วงหน้า.


คุณได้ลองใช้ Facebook Developer Wiki ที่wiki.developers.facebook.com/index.php/Main_Pageหรือที่อื่น ๆ ในเว็บไซต์นักพัฒนา developer.facebook.com/?ref=pfหรือไม่
DOK

ฉันไม่ได้ใช้ facebook dev แต่ฉันคิดว่าคุณต้องเขียนแอพ fb ก่อนจึงจะได้รับอนุญาตให้ทำเช่นนั้น
ก.ย.

คำตอบ:


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

@Diego ตรวจสอบ URL ของรูปภาพ ในตัวอย่างด้านบน mysite.com/pic.gif ดังนั้นมันจะดึงรูปภาพใน url ที่กำหนด ลองตั้งค่าดู โปรดตรวจสอบเอกสาร fb สำหรับการเปลี่ยนแปลงพารามิเตอร์เนื่องจากครั้งสุดท้ายที่ฉันทำงานในหน้า FB คือสิงหาคม 2010 ..
Harish Kurup

$ facebook เป็นตัวแปรในการติดตั้ง php หรือไม่ ถ้าไม่อินสแตนซ์ $ facebook ถูกสร้างขึ้นอย่างไร?
sadmic ไมโครเวฟ

@sadmic ไมโครเวฟตัวแปร $ 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 APP ของฉันขอ Manage_pages, published_actions, published_stream ... มีความคิดเห็นอย่างไร
Jepser Bernardino

8

Harish มีคำตอบที่นี่ - ยกเว้นคุณต้องขอmanage_pagesอนุญาตเมื่อตรวจสอบสิทธิ์แล้วใช้page-idแทนmeเมื่อโพสต์ ....

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

1
แต่คุณต้องใช้โทเค็นการเข้าถึงเพจเพื่อโพสต์เป็นเพจ
Danish Iqbal

5

คุณไม่สามารถโพสต์ไปที่กำแพง Facebook โดยอัตโนมัติโดยไม่ต้องสร้างแอปพลิเคชันและใช้ผู้เผยแพร่ฟีดเทมเพลตตามที่ Frank ชี้ให้เห็น

สิ่งเดียวที่คุณทำได้คือใช้วิดเจ็ต 'แชร์' ที่มีให้ซึ่งต้องใช้การโต้ตอบกับผู้ใช้


3

หากบล็อกของคุณส่งออกฟีด RSS คุณสามารถใช้แอปพลิเคชัน" RSS Graffiti " ของ Facebook เพื่อโพสต์ฟีดนั้นบนผนังของคุณใน Facebook มีแอพ RSS Facebook อื่น ๆ ด้วยเช่นกัน เพียงค้นหา "Facebook สำหรับแอป RSS" ...


0

คุณสามารถโทร api ได้โดยเลือกวิธี HTTP และตั้งค่าพารามิเตอร์เสริม:

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

ส่งโพสต์ไปที่ Facebook Wall:

รวมไฟล์ fbConfig.php เพื่อเชื่อมต่อ Facebook API และรับโทเค็นการเข้าถึง

โพสต์ข้อความชื่อลิงค์คำอธิบายและรูปภาพจะถูกส่งไปยังหน้าวอลล์ Facebook สถานะการโพสต์จะแสดง

หากไม่มีโทเค็นการเข้าถึง FB ($ accessToken) ระบบจะสร้าง URL เข้าสู่ระบบ Facebook และผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ FB

โพสต์ลง 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);
}

การอ้างอิง:

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/


ขอบคุณ. คุณลองใช้รหัสแล้วหรือยัง? ตอนนี้ตัวอย่างตัวอย่างลิงก์ที่กำหนดเองล้าสมัยแล้วดังนั้นโค้ดจะไม่โพสต์ในเพจ ( developer.facebook.com/blog/post/2017/06/27/… )
user919426
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.