如何通过图形api标记用户朋友

时间:2013-12-11 10:59:35

标签: facebook facebook-graph-api

我正在使用此脚本在用户的墙上上传照片。

我从Facebook获得了此脚本,但我想通过图形API标记照片中的用户朋友。 一些正文帮助我在照片中标记用户的朋友

这是我正在使用的脚本。

<?php

  // 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',
    'fileUpload' => true,
   );

   $facebook = new Facebook($config);
   $user_id = $facebook->getUser();

   $photo = './mypic.png'; // Path to the photo on the local filesystem
   $message = 'Photo upload via the PHP SDK!';
?>

<?php
    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 {
          // Upload to a user's profile. The photo will be in the
          // first album in the profile. You can also upload to
          // a specific album by using /ALBUM_ID as the path 
          $ret_obj = $facebook->api('/me/photos', 'POST', array(
                                     'source' => '@' . $photo,
                                     'message' => $message,
                                     )
                                  );
          echo '<pre>Photo ID: ' . $ret_obj['id'] . '</pre>';
          echo '<br /><a href="' . $facebook->getLogoutUrl() . '">logout</a>';
       } 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' => 'photo_upload'
                   )); 
          echo 'Please <a href="' . $login_url . '">login.</a>';
          error_log($e->getType());
          error_log($e->getMessage());
       }   
    } else {

        // No user, print a link for the user to login
        // To upload a photo to a user's wall, we need photo_upload  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' => 'photo_upload') );
        echo "<script type='text/javascript'>top.location.href = '$login_url';</script>"

    }

?>

1 个答案:

答案 0 :(得分:1)

您可以通过向代码连接PHOTO_ID/tags发出 POST 请求来标记用户的朋友。

例如:

PHOTO_ID/tags?tags=[{"tag_uid":"1234"}, {"tag_uid":"12345"}]

来源:Graph API - Photo Reference