Facebook API отлично работает для / feed, но не для / photos

Ниже приведен код, который отлично работает, если я прохожу/pageid/feed вfacebook->api, но когда я изменю его, чтобы загрузить изображение непосредственно в мой фотоальбом на Facebook, оно не будет работать. Пожалуйста, дайте мне знать, что я делаю неправильно в следующем коде:

<code>// Works fine
$status = $facebook->api("/194458563914948/feed", 'post', $attachment);

// Does not work
$status = $facebook->api("/196878530339618/photos", 'post', $attachment);
</code>
Full Source
<code>    <?php

require 'src/facebook.php';

$app_id = "332267477347";
$app_secret = "xxxx";

$facebook = new Facebook(array(
 'appId' => $app_id,
 'secret' => $app_secret,
 'cookie' => true,
 'fileUpload' => true,

));

$facebook->setFileUploadSupport(true);  


$user = $facebook->getUser();
//echo $user;

if(($facebook->getUser())==0)
{
 header("Location:{$facebook->getLoginUrl(array('scope' => 'photo_upload,user_status,publish_stream,user_photos,manage_pages'))}");
 exit;
}
else {
$accounts_list = $facebook->api('/me/accounts');
echo "i am connected";
}
  $valid_files = array('image/jpeg', 'image/png', 'image/gif');


//to get the page access token to post as a page
foreach($accounts_list['data'] as $account){
      if($account['id'] == 194458563914948){      // my page id =123456789
        $access_token = $account['access_token'];
        echo "<p>Page -- Access Token: $access_token</p>";
        }
    }

//posting to the page wall

if (isset($_FILES) && !empty($_FILES))
{  
$aid = '421539304540205';
$folder = "pak/".$_FILES['pic']['name'];
$fold = 'http://snowdrop.com.pk/fb/'.$folder;
echo $fold."<br>";
if( move_uploaded_file($_FILES['pic']['tmp_name'], $folder) )
{
#Upload photo here
  $img = realpath($_FILES["pic"]["tmp_name"]);
$attachment = array('message' => $_POST['textfield'],
                           'aid' => $aid,
   'source' => '@' . $img,
                                'access_token' => $access_token,


                );
$status = $facebook->api("/421539304540205/photos", 'post', $attachment);

echo $status;
var_dump($status);

 }
 else{
    echo 'Only jpg, png and gif image types are supported!';

}
}
?>
<body>
 <!-- Form for uploading the photo -->
 <div class="main">
  <p>Select a photo to upload on Facebook Fan Page</p>
  <form method="post" action="" enctype="multipart/form-data">
  <p>Select the image: <input type="file" name="pic" />
    <br />
    <label>Description
    <input type="text" name="textfield" id="textfield" />
    </label>
  </p>
  <p><input class="post_but" type="submit" value="Upload to my album" /></p>
  </form>
 </div>
</body>
</code>

Ответы на вопрос(1)

Решение Вопроса

/406221796071956/photos неправильно, и именно поэтому он не работает.

Причина того, что этот путь неправильный, заключается в том, что406221796071956 является идентификатором картинки, убедитесь сами,Graph API Explorer для406221796071956 говорит:

"type": "photo"

Если вы хотите опубликовать этот альбом, используйте/196878530339618/photos, поскольку это альбом:Graph API Explorer для196878530339618

"type": "album"

Edit

Пожалуйста, обратитесь кhttps://developers.facebook.com/docs/reference/api/album/#photos для добавления фотографий в альбом.

2nd Edit

Согласно документацииАльбомный объект:

can_upload

Determines whether the UID can upload to the album and returns true if the user owns the album, the album is not full, and the app can add photos to the album

Таким образом, вам нужно, чтобы альбом не был полным, чтобы быть владельцем альбома и иметь необходимые разрешения для загрузки.

 Faizan Qadri16 апр. 2012 г., 13:16
нет, я не получаю сообщение об ошибке, вот ссылка на мою страницуsnowdrop.com.pk/fb/abc.php
 Faizan Qadri16 апр. 2012 г., 13:16
Все, что я пытаюсь сделать, - это использовать вышеописанный скрипт, и когда я нажимаю на кнопку «Отправить», на моей стене появляется изображение с его описанием, и это изображение можно увеличить при просмотре на фан-странице Facebook, поскольку при использовании / pageid / feed появляется уведомление действительно появляется на стене, но с очень маленьким изображением значка с любой ссылкой за ним (его нельзя просмотреть в увеличенном виде) ...
 Faizan Qadri16 апр. 2012 г., 13:07
Я использовал это в соответствии с проблемой, которую вы проверили с моим кодом, но она все еще не работает :( ----------------------------- $ status = $ facebook- & gt; api ("/ 196878530339618 / photos", "post", $ attachment);
 16 апр. 2012 г., 13:08
Можете быть более конкретными? Что не работает? значит точно? Вы получаете сообщение об ошибке?
 Faizan Qadri16 апр. 2012 г., 13:53
Ссылка с заменой АЛЬБОМИДА:snowdrop.com.pk/fb/abc.php и эта ссылка содержит строку кода с / pageid / feed (которая работает нормально, но с этой маленькой проблемой связанного изображения)snowdrop.com.pk/fb/1.php

Ваш ответ на вопрос