Làm thế nào để bạn đăng lên tường trên một trang facebook (không phải hồ sơ)


86

Tôi có một trang blog được viết bằng php và nó đăng các bài đăng trên blog mới lên twitter và một blog tự động ping dưới mui xe bằng cách sử dụng các yêu cầu bài đăng http đơn giản được thông qua bằng php curl.

Tôi có một trang facebook cho trang blog và muốn các cập nhật được đăng lên tường trên trang, có cách nào đơn giản để làm điều này không?

Những gì tôi thực sự muốn là một url và tập hợp các tham số để chuyển thành một yêu cầu đăng bài http.

Lưu ý rằng đây là để đăng lên tường trên một trang kiểu mới không phải là một hồ sơ.

Cảm ơn trước.


Bạn đã thử các nhà phát triển Facebook Wiki tại wiki.developers.facebook.com/index.php/Main_Page hay ở nơi khác trong nhà phát triển trang web của họ developers.facebook.com/?ref=pf ?
DOK

Tôi không thích nhà phát triển facebook nhưng tôi nghĩ bạn phải viết một ứng dụng fb trước tiên, để được phép làm điều đó.
sepehr

Câu trả lời:


65

Nhận SDK PHP từ github và chạy mã sau:

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

mã trên sẽ Đăng thông báo lên tường của bạn ... và nếu bạn muốn đăng lên tường của bạn bè hoặc người khác, hãy thay thế mebằng Mã người dùng Facebook của người dùng đó..để biết thêm thông tin, hãy xem Tài liệu API.


mã đó hoạt động tuyệt vời !, nhưng trong bài viết không có hình ảnh .. Tôi còn thiếu gì ở đây? Cảm ơn!
Diego

@Diego kiểm tra URL của bức ảnh. trong ví dụ trên mysite.com/pic.gif của nó. vì vậy nó sẽ tìm nạp pic trong url nhất định. vì vậy hãy thử thiết lập nó. hãy làm kiểm tra tài liệu fb cho bất kỳ sự thay đổi trong tham số của, cos lần cuối cùng tôi làm việc trong FB trước là tháng 8 năm 2010 ..
Harish Kurup

$ facebook có phải là một biến được tích hợp trong cài đặt php không? nếu không, phiên bản $ facebook được tạo như thế nào?
sadmicrowave

@sadmicrowave biến $ facebook là đối tượng của lớp Facebook (có thể đã thay đổi tên lớp, vì vậy hãy đọc tài liệu sau khi có ý tưởng). Bạn cần khởi tạo đối tượng bằng đoạn mã sau "$ facebook = new Facebook (array ('appId' => APPID, 'secret' => SECRETKEY, 'cookie' => true));"
Harish Kurup

Bạn cũng cần phải có PHP SDK được cài đặt trong ứng dụng của bạn để truy cập vào Facebook lớp
mitchellhislop

9

Điều này phù hợp với tôi:

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

Tôi đang gặp sự cố với OAuth, lỗi 200. APP của tôi yêu cầu quản lý trang, xuất bản_các giao dịch, xuất_bản ... Bạn có ý kiến ​​gì không?
Jepser Bernardino

8

Harish có câu trả lời ở đây - ngoại trừ bạn cần phải yêu cầu manage_pagesquyền khi xác thực và sau đó sử dụng page-idthay vì mekhi đăng ....

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

1
nhưng bạn phải cần truy cập trang token để gửi như trang
Đan Mạch Iqbal

5

Bạn không thể tự động đăng lên tường Facebook nếu không tạo ứng dụng và sử dụng nhà xuất bản nguồn cấp dữ liệu mẫu như Frank đã chỉ ra.

Điều duy nhất bạn có thể làm là sử dụng các tiện ích 'chia sẻ' mà họ cung cấp, các tiện ích này yêu cầu sự tương tác của người dùng.


3

Nếu blog của bạn xuất ra nguồn cấp RSS, bạn có thể sử dụng ứng dụng " RSS Graffiti " của Facebook để đăng nguồn cấp đó lên tường của bạn trong Facebook. Cũng có các ứng dụng RSS Facebook khác; chỉ cần tìm kiếm "Facebook cho ứng dụng RSS" ...


0

Bạn có thể thực hiện lệnh gọi api bằng cách chọn phương thức HTTP và thiết lập các thông số tùy chọn:

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

Gửi bài lên Tường Facebook:

Bao gồm tệp fbConfig.php để kết nối API Facebook và nhận mã thông báo truy cập.

Đăng tin, tên, liên kết, mô tả và hình ảnh sẽ được gửi lên tường Facebook. Trạng thái gửi bài sẽ được hiển thị.

Nếu không có mã thông báo truy cập FB ($ accessToken), URL đăng nhập Facebook sẽ được tạo và người dùng sẽ được chuyển hướng đến trang đăng nhập FB.

Đăng lên tường 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);
}

Refrences:

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/


Cảm ơn. Bạn đã thử mã chưa? Tuỳ chỉnh liên kết Preview Snippets hiện nay đã lỗi thời, do đó, mã đó sẽ không gửi đến một trang ( developers.facebook.com/blog/post/2017/06/27/... )
user919426
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.