0

こんにちは皆さん、私は PHP プログラミングと Facebook アプリの初心者です。このコードを見つけました。テキストの投稿には非常にうまく機能しますが、私の要件は、写真もアップロードする必要があることです。アドイン ['source' => '$image_source'] が配列にあるのに機能しません... PHOTO をアップロードするにはどうすればよいですか?

<?php
include_once("config.php");


if($_POST)
{
    //Post variables we received from user
    $userPageId     = $_POST["userpages"];
    $userMessage    = $_POST["message"];
    $image_source = "http://www.example.com/image.jpg"
    if(strlen($userMessage)<1) 
    {
        //message is empty
        $userMessage = 'No message was entered!';
    }

        //HTTP POST request to PAGE_ID/feed with the publish_stream
        $post_url = '/'.$userPageId.'/feed';

        //posts message on page statues 
        $msg_body = array(
        'message' => $userMessage,
        'source' => '$image_source'
        );

    if ($fbuser) {
      try {
            $postResult = $facebook->api($post_url, 'post', $msg_body );
        } catch (FacebookApiException $e) {
        echo $e->getMessage();
      }
    }else{
     $loginUrl = $facebook->getLoginUrl(array('redirect_uri'=>$homeurl,'scope'=>$fbPermissions));
     header('Location: ' . $loginUrl);
    }

    //Show sucess message
    if($postResult)
     {
         echo '<html><head><title>Message Posted</title><link href="style.css" rel="stylesheet" type="text/css" /></head><body>';
         echo '<div id="fbpageform" class="pageform" align="center">';
         echo '<h1>Your message is posted on your facebook wall.</h1>';
         echo '<a class="button" href="'.$homeurl.'">Back to Main Page</a> <a target="_blank" class="button" href="http://www.facebook.com/'.$userPageId.'">Visit Your Page</a>';
         echo '</div>';
         echo '</body></html>';
     }
}

?>
4

1 に答える 1

3

feedエンドポイントを使用して写真を投稿することはできません。許可を得て使用/me/photosする必要があります。アルバムに投稿するには、エンドポイントpublish_streamが必要です/ALBUM_ID/photos

   $msg_body = array(
    'message' => $userMessage,
    'source' => '@'.'$image_source'
   );

   $postResult = $facebook->api('/me/photos/','post', $msg_body);

サイトに関連付けられていない URL を使用するには、使用する必要がありますurl

  $msg_body = array(
    'message' => $userMessage,
    'url' => 'http://somepage.com/img.png'
   );
于 2013-02-09T16:01:16.283 に答える