0

首先让我感谢您允许我在这里提出一些问题。我希望你能帮助我解决以下问题。

我想在用户的 Facebook 状态上发布一些消息。使用以下代码成功:

$params = array('access_token'=>$access_token, 'message'=>$message);
        $url = "https://graph.facebook.com/".$fbuserid."/feed";
        $ch = curl_init();
        curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_POSTFIELDS => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_VERBOSE => true
        ));
        $result = curl_exec($ch);

我需要添加或做什么才能将图像和/或链接会员链接到此帖子味精?谢谢!

4

1 回答 1

0

为了将照片发布到用户的相册,您必须具有publish_stream权限。获得授权后,您可以通过HTTP POST向 Graph API 连接发出包含照片内容和可选描述的请求来上传照片:

  • https://graph.facebook.com/USER_ID/photos- 照片将发布到为您的应用创建的相册中。如果您的应用尚不存在,我们会自动为您的应用创建相册。以这种方式上传的所有照片都将添加到同一个相册中。

  • https://graph.facebook.com/ALBUM_ID/photos- 照片将发布到特定的现有相册中,由ALBUM_ID.

例子:

<?php
       $app_id = "YOUR_APP_ID";
       $app_secret = "YOUR_APP_SECRET";
       $post_login_url = "YOUR_POST_LOGIN_URL";

       $code = $_REQUEST["code"];

       //Obtain the access_token with publish_stream permission 
       if(empty($code)){ 
          $dialog_url= "http://www.facebook.com/dialog/oauth?"
           . "client_id=" .  $app_id 
           . "&redirect_uri=" . urlencode( $post_login_url)
           .  "&scope=publish_stream";
          echo("<script>top.location.href='" . $dialog_url 
          . "'</script>");
         }
        else {
          $token_url="https://graph.facebook.com/oauth/access_token?"
           . "client_id=" . $app_id 
           . "&redirect_uri=" . urlencode( $post_login_url)
           . "&client_secret=" . $app_secret
           . "&code=" . $code;
          $response = file_get_contents($token_url);
          $params = null;
          parse_str($response, $params);
          $access_token = $params['access_token'];

         // Show photo upload form to user and post to the Graph URL
         $graph_url= "https://graph.facebook.com/me/photos?"
         . "access_token=" .$access_token;

         echo '<html><body>';
         echo '<form enctype="multipart/form-data" action="'
         .$graph_url .' "method="POST">';
         echo 'Please choose a photo: ';
         echo '<input name="source" type="file"><br/><br/>';
         echo 'Say something about this photo: ';
         echo '<input name="message" 
             type="text" value=""><br/><br/>';
         echo '<input type="submit" value="Upload"/><br/>';
         echo '</form>';
         echo '</body></html>';
      }
?>

样本输出:

{
   "id": "1001207389476"
}

文档:https ://developers.facebook.com/docs/reference/api/photo/

希望这可以帮助!

于 2013-07-08T07:36:00.387 回答