Проблемы с Facebook и Symfony 1.4 - PullRequest
1 голос
/ 14 февраля 2012

Новый разработчик для Facebook и Symfony 1.4 с парой проблем.

Во-первых, у меня возникла проблема с отображением кнопки «Добавить в шкалу времени» на моей странице там, где она мне нужна.Кажется, на моем сайте отображается изображение загрузки Facebook, после чего после видимой загрузки кнопка не отображается.Я осмотрел много разных сайтов (включая учебник по FB для Open Graph), все говорили, что нужно размещать скрипты после открывающего тега body.Я поместил его в файл layout.php, чтобы мне не приходилось помещать его в несколько мест:

layout.php

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:fb="http://ogp.me/ns/fb#" xmlns:og="http://ogp.me/ns#">
....
<body>
    <div id="fb-root"></div>
    <script>
        window.fbAsyncInit = function() {
            FB.init({
                appId      : 'APP_ID',
                status     : true, 
                cookie     : true,
                xfbml      : true,
                oauth      : true
            });
        };

        (function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=APP_ID";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
    </script>
    <div id="container">

У меня уже естьпри необходимости заменил APP_ID и поместил кнопку «Добавить на временную шкалу» в виде:

viewSuccess.php

<?php // Facebook Post-to-Timeline Button for this user's created recipe ?>
<?php if($recipe->getUserId() == sfUserTools::getConnectedUser()->getId()): ?>
    <fb:add-to-timeline show-faces="false" mode="button"></fb:add-to-timeline>
<?php endif ?>

Я не уверен, что проблема в том, гдесценарий JSSDK размещен, или если Symfony не видит что-то на странице просмотра.Обратите внимание, что у меня пока нет настроек и объектов нашего приложения для Open Graph, в настоящее время отправка сообщений на временную шкалу не является моей задачей.Есть идеи или советы для новичка?

1 Ответ

0 голосов
/ 23 мая 2012

Вы пытались передать access_token или perms на FB.init?

  FB.init({
    appId                : "<?php echo sfConfig::get('app_facebook_api_key') ?>",
    status               : true, // check login status
    cookie               : true, // enable cookies to allow the server to access the session
    xfbml                : false,  // parse XFBML
    perms                : 'read_stream, publish_stream',
    access_token         : "ACCESS_TOKEN_HERE",
    frictionlessRequests : true
  });
...