2011-07-19 10 views
1

私は数ヶ月前に仕事をしていたがもう機能しなかったFacebookブックフォトタグ付けアプリを持っています。ユーザーはアプリを認証し、Facebookのアカウントに写真をアップロードし、友だちにタグを付けます。アプリは画像をアップロードしますが、何らかの理由でタグを付けませんでした。Facebook写真のタグ付けアプリでタグ付けされていない

require_once('facebook.php'); 

$_SESSION['init'] = true; $current_date=date('m/d/Y'); $facebook = 
new Facebook(array(
    'appId' => FACEBOOK_APP_ID, 
    'secret' => FACEBOOK_SECRET, 
    'cookie' => true, 
)); 

$facebook->setFileUploadSupport(true); 
$session = $facebook->getSession(); $tokenorig = 
$facebook->getAccessToken(); 

$friends = 
    file_get_contents("https://graph.facebook.com/me/friends?access_token=" 
    . $tokenorig); 

$friends = json_decode($friends, true); 
$friends = $friends['data']; 

foreach($friends as $friend) { 
    $uids[] = $friend['id']; 
} 

function makeTagArray($userId) { 
    $x=1; $y=1; 

    foreach($userId as $id) { 
    $tags[] = array('tag_uid'=>$id, 'x'=>$x,'y'=>$y); 
    $x+=1; 
    $y+=1; 
    } 

    $tags = json_encode($tags); 
    return $tags; 
} 


$arguments = array(
    'message' => 'hi guys ', 
    'tags' => makeTagArray($uids), 
    'source' => '@' .realpath('pic2.jpg'), 
); 

$alb = "13378"; 
uploadPhoto(
    $facebook, 
    $alb, 
    $arguments, 
    $tokenorig); 

function uploadPhoto($facebook,$albId,$arguments,$tokenorig) { 
    //https://graph.facebook.com/me/photos 
    try { 
    $fbUpload = 
     $facebook->api('/'.$albId.'/photos?access_token='.$tokenorig,'post', 
     $arguments); 

    return $fbUpload; 
    } catch(FacebookApiException $e) { 
    echo "eror"; 
    echo $e; 
    // var_dump($e); 

    return false; 
    } 
} 

//////////エンド

+0

Judith、次回はコードの「{}」ボタンを使用して、コードが適切に書式設定されていることを確認してください。ありがとう! – squinlan

答えて

1

まず第一に、すべて、 あなたがpublish_streamとuser_photosが必要 それらに代わって、写真やタグをアップロードするには、アプリケーションを認証するために、ユーザのを必要とし、ユーザーの友人にタグを付ける権限

関連する問題