开发者

Facebook api wall post in php

I tried below code not working

$attachment = array('message' => 'some meesgae', '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);

And i given t开发者_开发知识库he extended permission "publish_stream"

 $loginUrl = $facebook->getLoginUrl(array('req_perms' => 'email,user_birthday,status_update,publish_stream'));


BeRecursive is right about the action links, but the $facebook-api function does the json encoding for you, and you can also send in "cb" which is a callback function.


You need to JSON encode the attachment:

$attachment = json_encode($attachment);

Also, action_links are not supported by the Graph Api, only the following parameters are supported:

message      The message 
picture      If available, a link to the picture included with this post 
link            The link attached to this post 
name            The name of the link 
caption      The caption of the link (appears beneath the link name) 
description  A description of the link (appears beneath the link caption) 
source        If available, the source link attached to this post (for example, a flash or video file)


As of today, here's what Facebook has posted on http://developers.facebook.com/docs/reference/php/facebook-api/

<?
  // Remember to copy files from the SDK's src/ directory to a
  // directory in your application on the server, such as php-sdk/
  require_once('php-sdk/facebook.php');

  $config = array(
    'appId' => 'YOUR_APP_ID',
    'secret' => 'YOUR_APP_SECRET',
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?
    if($user_id) {

      // We have a user ID, so probably a logged in user.
      // If not, we'll get an exception, which we handle below.
      try {
        $ret_obj = $facebook->api('/me/feed', 'POST',
                                    array(
                                      'link' => 'www.example.com',
                                      'message' => 'Posting with the PHP SDK!'
                                 ));
        echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>';

      } catch(FacebookApiException $e) {
        // If the user is logged out, you can have a 
        // user ID even though the access token is invalid.
        // In this case, we'll get an exception, so we'll
        // just ask the user to login again here.
        $login_url = $facebook->getLoginUrl( array(
                       'scope' => 'publish_stream'
                       )); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
      // Give the user a logout link 
      echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
    } else {

      // No user, so print a link for the user to login
      // To post to a user's wall, we need publish_stream permission
      // We'll use the current URL as the redirect_uri, so we don't
      // need to specify it here.
      $login_url = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) );
      echo 'Please <a href="' . $login_url . '">login.</a>';

    } 

  ?>      

  </body> 
</html>  
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜