Настройка URL для публикации в Facebook - PullRequest
1 голос
/ 31 января 2011

Я использую метод Facebook publishStream в Facebook FBML Application, другой разработчик работал над ним до меня.Я использую что-то вроде этого

Facebook.streamPublish('Publish Shirt Tale. <?php echo $canvasURL.'?req=tale-details&tale_id='.$tale_id?>', attachment);

Но есть еще один URL, который находится под общим изображением, для получения дополнительной информации см. Изображение ниже enter image description here

Так же, как на изображении естьобведите ссылку, чтобы она указывала на какую-то другую страницу, а я хочу на первую страницу приложения.В настоящее время он переходит на страницу примерно так: http://apps.facebook.com/apps/application.php?id=xxxxxxxxxxxxx

, поэтому любой может сказать, где я могу указать этот URL?

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

Ответы [ 2 ]

3 голосов
/ 01 февраля 2011

Так как на Facebook устарела во всех приложениях FBML в ближайшее время , я бы посоветовал вам посмотреть здесь и попытаться создать диалог таким образом.Я могу дать вам сценарий, который я сейчас использую, где ссылка, которую вы обвели, направляет на домашнюю страницу моего приложения.Обратите внимание: мое приложение является приложением Iframe.

    <script type="text/javascript">
    FB.ui(
  {
    method: 'stream.publish',
    attachment: {
      name: 'name',
      caption: 'caption',
      source: 'picture.jpg',
      picture: 'picture.jpg',
      description: 'description',
      href: 'http://apps.facebook.com/appname'
    },
    action_links: [
      { text: 'name', href: 'http://apps.facebook.com/appname' }
    ]
  },
  function(response) {
    if (response && response.post_id) {
      alert('Post was published.');
    } else {
      alert('Post was not published.');
    }
  }
);
    </script>

Если вы хотите сохранить свое приложение в форме FBML, попробуйте следующий код:

    <script type="text/javascript">
    FB.ui(
  {
    method: 'stream.publish',
    attachment: {
      name: 'name',
      caption: 'caption',
      source: 'picture.jpg',
      picture: 'picture.jpg',
      description: 'description',
      href: 'http://apps.facebook.com/appname/index.php'
    },
    action_links: [
      { text: 'name', href: 'http://apps.facebook.com/appname/index.php' }
    ]
  },
  function(response) {
    if (response && response.post_id) {
      alert('Post was published.');
    } else {
      alert('Post was not published.');
    }
  }
);
    </script>

Вы должны понимать разницу между приложениями Iframe и FBML: хотя приложения Iframe заставляют пользователя постоянно оставаться на одной и той же странице, а изменяется только содержимое в Iframe, приложение FBML фактически перемещает пользователя со страницы на страницу.Поэтому при указании ссылок в приложениях FBML важно использовать ссылку http://apps.facebook.com/appname/page вместо ссылки http://www.yoursite.com/page.

Примеры ссылок:

  1. Ссылка на вашем сайте: http://www.yoursite.com/game1.php
  2. В приложении FBML будет выглядеть так: http://apps.facebook.com/appname/game1.php
1 голос
/ 01 февраля 2011

хорошо, Хафиз, тогда попробуй этот код.

FB.ui({
    method: 'stream.publish',
    message:'hello',
    attachment: {
      name: title,

      caption: "I'm running!",
      media: [{
        type: 'image',
        href: 'http://www.yoursite.com/',
        src: 'http://www.yoursite.com/images/working.jpeg'
      }]
    },
    action_links: [{
      text: 'Get your percentage',
      href: 'http://www.yoursite/'
    }],
    user_message_prompt: 'Tell your friends about Get your percentage:'
  });
...