Невозможно обмениваться фотографиями с помощью API Facebook - PullRequest
0 голосов
/ 05 февраля 2012

Я довольно новичок в Facebook API, и в данный момент я использую Facebook PHP SDK. Итак, я был заинтересован в автоматическом обмене определенной картинкой с Facebook (например, http://www.facebook.com/photo.php?fbid=10150286544861729&set=a.10150286544851729.375565.20531316728&type=1) на моей стене (/ me / links /). Итак, при запросе POST я отправляю параметры «источник» и «ссылка», ссылаясь на один и тот же URL-адрес (URL-адрес изображения). Но я получаю OAuthException "(# 1500) URL, который вы указали, недействителен".

Я разрешил разрешения «publish_stream» и «share_item», но самое неловкое в том, что, похоже, нет проблем с моим кодом, но как-то с настройками приложения, поскольку я получаю ту же ошибку, если Я использую Graph API Explorer, генерируя маркер доступа с такими же разрешениями.

Что мне здесь не хватает?

Неважно, теперь граф API Explorer работает нормально, я просто сгенерировал еще один токен, и он работал нормально. Итак, проблема может быть в коде, вот так:

    $share = $facebook->api('/me/links', 'POST', array(
                            'source' => urlencode($temp_test),
                            'link' => urlencode($temp_test),
                            ));

Что-то не так?

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Если у вас уже есть изображение в вашем альбоме на Facebook и вы хотите поделиться им на своей временной шкале или на странице друга, вы можете использовать тег object_attachment. Вот как вы делаете это в Obj-C:

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   //                                 @"http://www.bitsonthego.com", @"link",
                                   {image id of your image goes here}, @"object_attachment",
                                   @"my profile", @"name",
                                   @"description", @"description",
                                   @"name of the post", @"name",
                                   @"caption of my post", @"caption",
                                   @"a message", @"message",
                                   nil];

    [facebook requestWithGraphPath:@"/me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self]; 

Нет необходимости делать еще одну копию вашего изображения или размещать его локально.

1 голос
/ 05 февраля 2012

Вы не можете поделиться изображением, которое размещено на Facebook. Что вы можете сделать, это сначала скопировать это изображение на ваш сервер, используя функцию PHP copy () , а затем передать URL-адрес изображения с вашего сервера.

i.e copy("http://www.facebook.com/photo.php?fbid=10150286544861729&set=a.10150286544851729.375565.20531316728&type=1", "/folder location on your server/image.jpg");

$share = $facebook->api('/me/links', 'POST', array(
                            'source' => "http://yourserver.com".$folder_path.$image,
                            'link' => urlencode($temp_test),
                            ));
...