2010-09-11 5 views
4

j'ai essayé ci-dessous le code ne fonctionne paspost Facebook mur api en php

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

Et je donné la permission prolongée "publish_stream"

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

S'il vous plaît définir: ne fonctionne pas. – Iznogood

+0

Obtenir OAuthException: (# 1) Une erreur inconnue s'est produite erreur – Elankeeran

Répondre

1

Vous devez JSON encoder la pièce jointe:

$attachment = json_encode($attachment);

En outre, les liens d'action ne sont pas pris en charge par l'API graphique, seuls les liens d'action les paramètres suivants sont pris en charge:

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) 
+0

besoin d'attacher plus d'image près de 5 images d'amis dans le mur – Elankeeran

+0

Désolé je ne comprends pas? – BeRecursive

2

BeRecursive est juste sur les liens d'action, mais la fonction facebook-api $ ne l'encodage JSON pour vous, et vous pouvez également envoyer « cb » qui est une fonction de rappel.

0

A partir d'aujourd'hui, voici ce que Facebook a posté sur 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> 
Questions connexes