Как поделиться URL-адресом, прошедшим проверку подлинности Amazon, при публикации на стене с помощью Facebook Graph API? - PullRequest
5 голосов
/ 22 июня 2011

Я пытаюсь создать пост на Facebook, используя Facebook Graph API. Полезная нагрузка:

{ :message => 'I just uploaded image',
  :picture => 'http://s3.amazonaws.com/picyou-andrey-development/images/GejoFV/GejoFV.png?AWSAccessKeyId=AKIAI6ANFCV7RKOBGGBA&Signature=U0Bd2bMQ3Pai%2BAblVOimSOVcbzk%3D&Expires=1308771841',
  :link    => 'http://google.com',
  :name    => 'Test Post' }

Пост создан правильно, но проблема в картинке, которая вообще не отображается.

Когда я использовал общедоступные URL-адреса Amazon S3, например http://s3.amazonaws.com/picyou-andrey-development/images/GejoFV/GejoFV.png, картинка отображалась правильно.

Есть ли шанс использовать динамические URL-адреса в качестве параметра для изображения в Facebook?

Заранее спасибо.

Обновление:

На форуме разработчиков Facebook обнаружен парень с точно такой же проблемой:

http://forum.developers.facebook.net/viewtopic.php?pid=302856

1 Ответ

1 голос
/ 23 июня 2011

Может ли быть так, что в сигнатурной части URL-адреса есть несколько символов, которые имеют особое значение в URL-адресах - %2B (+) и %3D (=)?

Я столкнулся с проблемой этих URL в некоторых видеоплеерах и решил ее, убедившись, что в URL нет этих персонажей. Это можно сделать, сгенерировав URL-адрес в цикле и добавляя секунду ко времени истечения каждый раз, чтобы гарантировать изменение подписи. Повторяйте, пока подпись не станет «действительной»

psuedocode:

loop
    expiry = expiry + 1 second
    create url with expiry
until url is valid

По моему опыту, для того, чтобы URL был действительным, требуется всего одна итерация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...