2012-02-22 4 views
0

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

Итак, я загружаю контент на свою веб-страницу из своей CMS и рядом с тем, где я показываю свой загруженный контент в своих административных папках. Я хотел бы иметь кнопку, которая может публиковать эту запись на моей стене facebook. Как обычный пост, а не как сообщение LIKE или комментарий!

ответ

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 
    } 







    ?> 

Для получения дополнительной информации следовать How to post wall in facebook using API in PHP?

+0

спасибо Akhil Но я не могу использовать PHP Im боюсь на моем сервере, есть что-то Двойники в JQuery - JavaScript? Я вижу dialog_url в приведенном выше коде, это выше, размещая на моей стене, так что он выглядит так же, как когда я отправляю его изнутри facebook? Так что я могу размещать большие изображения и т. Д.? Я не хочу, чтобы он опубликовал комментарий, а не как этот пример: http: //demo.lookmywebpage.com/publish-on-facebook-wall/ Я просто хочу быть уверенным, прежде чем начать :-) Спасибо еще раз! –

+0

Просто попробуйте одно демо с этим, разместив что-то в стене ур-фб, я надеюсь, что одна попытка очистит все ур сомнения –

+0

Хорошо спасибо за вашу помощь, но это php-код, не так ли? И мой сервер не поддерживает php. И я не уверен, если я это понимаю, если я хочу получить postmessage и другие значения из моей базы данных, где я его положу? И я также хочу отправить изображение одновременно, как мне это сделать? Извините :-) –

0

функция 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'); 
       } 
      }); 
     }