Как публиковать сообщения на моей стене в Facebook с моих собственных страниц администрирования (CMS)?

Как я могу опубликовать обычную публикацию на своей стене в Facebook со своих страниц администрирования, где я загружаю контент на свою веб-страницу?

Итак, я загружаю контент на свою веб-страницу из своей CMS, и рядом с тем, где я отображаю загруженный контент на своих страницах администратора, я хотел бы иметь кнопку, которая может опубликовать этот пост на моей стене в Facebook. Как обычный пост, а не как пост НРАВИТСЯ или комментарий!


person Claes Gustavsson    schedule 22.02.2012    source источник


Ответы (2)


Сначала вам нужно создать приложение facebook. Затем вы получите идентификатор приложения и секретный ключ.

Используя эти данные, вы можете опубликовать сообщение на своей стене, используя библиотеку facebook php, или вы можете использовать следующую функцию.

<?php


    function doWallPost($postName='',$postMessage='',$postLink='',$postCaption='',$postDescription='')
    {
    $FB_APP_ID='xxxxxxxxxxxxxxxxxxxxxxxx';
    $FB_APP_SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxxx';

    $APP_RETURN_URL=((substr($_SERVER['SERVER_PROTOCOL'],0,4)=="HTTP")?"http://":"https://").$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];

    $code = $_REQUEST["code"];

    if(empty($code)) 
    {
        $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=".$FB_APP_ID."&redirect_uri=".$APP_RETURN_URL."&scope=publish_stream";                  
        header("Location:$dialog_url");
    }

    $token_url = "https://graph.facebook.com/oauth/access_token?client_id=".$FB_APP_ID."&redirect_uri=".urlencode($APP_RETURN_URL)."&client_secret=".$FB_APP_SECRET."&code=".$code;
    $access_token = file_get_contents($token_url);

    $param1=explode("&",$access_token);
    $param2=explode("=",$param1[0]);
    $FB_ACCESS_TOKEN=$param2[1];


    $url = "https://graph.facebook.com/me/feed";
    $attachment =  array(   'access_token'  => $FB_ACCESS_TOKEN,                        
                    'name'          => $postName,
                    'link'          => $postLink,
                    'description'   => $postDescription,
                    'message'       => $postMessage,
                    'caption'       => $postCaption,
                );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,2);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
    $result=curl_exec($ch);
    header('Content-type:text/html');
    curl_close($ch);

    return $result
    }







    ?>

Подробнее см. Как опубликовать стену в facebook с помощью API в PHP?

person Akhil Thayyil    schedule 22.02.2012
comment
Большое спасибо, Ахил. Но я не могу использовать php. Боюсь, на моем сервере есть что-то похожее на jquery - javascript? Я вижу dialog_url в приведенном выше коде, это публикация на моей стене, поэтому она выглядит так же, как когда я публикую ее из Facebook? Чтобы я мог публиковать большие изображения и т.д.? Я не хочу, чтобы он публиковался как комментарий, не как в этом примере:demo.lookmywebpage. com/publish-on-facebook-wall Я просто хочу убедиться, прежде чем начать :-) Еще раз спасибо! - person Claes Gustavsson; 22.02.2012
comment
Просто попробуйте одну демонстрацию с этим, разместив что-нибудь на своей стене в Facebook, я надеюсь, что одна попытка рассеет все ваши сомнения. - person Akhil Thayyil; 23.02.2012
comment
Хорошо, спасибо за помощь, но это php-код, не так ли? И мой сервер не поддерживает php. И я не уверен, понимаю ли я это, если я хочу получить сообщение и другие значения из моей базы данных, куда мне его поместить? И я также хочу отправить изображение одновременно, как мне это сделать? Извини :-) - person Claes Gustavsson; 23.02.2012
comment
Хорошо, теперь мне удалось опубликовать на моей стене! Но изображение, которое я публикую, маленькое, как и при использовании диалогового окна НРАВИТСЯ или комментария. Как я могу сделать изображение большим, чтобы оно отображало ширину отверстия на временной шкале? Теперь я использую этот код: см. ниже! - person Claes Gustavsson; 23.02.2012

function postonwall(){ // showLoader(true);

            FB.api('/me/feed', 'post', 
                { 
                    message     : "testtext.",
                    link        : 'http://www.mydomain.se',
                    picture     : 'http://www.mydomain.se/image.jpg',
                    name        : 'iOS Apps & Games',
                    description : 'Checkout iOS apps and games from iThinkdiff.net. I found some of them are just awesome!'

            }, 
            function(response) {
               // showLoader(false);

                if (!response || response.error) {
                    alert('Error occured');
                } else {
                    //alert('Post ID: ' + response.id);
                  alert('Success: Content Published');
                }
            });
        }
person Claes Gustavsson    schedule 23.02.2012