2012-03-21 17 views
0

私は自分のWebサーバー上の写真を持っています。今はファンページの写真アルバムにアップロードしています。写真のアップロードには制限があります。それはページの写真アルバムをファンにするために、私は壁にそれを掲示しました。Facebookファイルサーバーから画像を取得し、ファンページの写真アルバムにアップロード

// Get the page access token 
$accounts = $facebook->api('/my_account_id/accounts', 'GET', $params); 
$data = $accounts['data']; 
foreach($data as $account) { 
    if($account['id'] == $fanpage || $account['name'] == $fanpage) 
     $fanpage_token = $account['access_token']; 
} 

// Get all albums from the page 
// Must use app access token, not page token! 
// You can also use a static album id to test 
$fanpage_albums = $facebook->api($fanpage . '/albums', 'GET', $params); 
$albums = $fanpage_albums['data']; 
$sorted = array(); 
foreach($albums as $album) { 
    if(! strpos($album['name'], 'Special')) 
     continue; 
    $sorted[] = $album; 
} 
$album_id = $sorted[0]['id']; // Get the first one. Shouldn't be empty! 

// Upload the photo (previously uploaded by user) 
$args = array(
    'message' => 'Von ' . $teilnehmer_name, 
    'image' => '@' . realpath($path. $_FILES['media']['name']), 
    'aid' => $album_id, 
    'no_story' => 1 // Nicht auf der Wall anzeigen (Thank God for that), 
    'access_token' => $fanpage_token // note, we use the page token here 
); 

$photo = $facebook->api($album_id . '/photos', 'post', $args); 
if(is_array($photo) && ! empty($photo['id'])) 
    echo 'Photo uploaded. Check it on Graph API Explorer. ID: ' . $photo['id']; 

私は上記のコードを試しましたが、動作しません。

+0

メッセージの代わりに 'caption'と' image'の代わりに 'source'を試してください...また、' aid'と 'no_story'を付けて試してみてください。 – ifaour

+0

@ifaour:それは動作しません。 –

+0

'try catch'ブロックにコードを追加して、実際に*何がエラーなのかを知ることができます! – ifaour

答えて

1

realpath()を使用しないでください。フォルダ名/ファイル名を使用すると、ページアクセストークンが必要になります。

関連する問題