Приложение Facebook Open Graph: «Произошла ошибка» - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь создать социальный ридер Washington Post-esque для моего собственного сайта Wordpress, поэтому, когда кто-то читает мой пост, он публикуется в их ленте новостей на Facebook.

Я следил заУчебник по Facebook Open Graph, но я продолжаю сталкиваться с всплывающим окном с надписью «Произошла ошибка», когда я нажимаю «Читать» в сообщении.Я использовал инструмент отладки, и он сообщил, что все в порядке.

Требуются ли дополнительные шаги, чтобы приложение Open Graph работало на самодостаточном сайте Wordpress?

Ниже приведен код, который я использовал до сих пор.Я заменил фактические URL-адреса изображений значениями по умолчанию, поскольку пока не могу публиковать изображения в переполнении стека.

В области метатега я набрал следующее:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"
xmlns:fb="https://www.facebook.com/2008/fbml"> 

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# 
 zeitlife: http://ogp.me/ns/fb/zeitlife#

<meta property="fb:app_id"      content="308222752522151" /> 
<meta property="og:type"        content="zeitlife:article" /> 
<meta property="og:url"         content="http://www.zeitlife.co.uk/cabana-brazilian-food-that-breaks-the-mould/> 
<meta property="og:title"       content="Cabana: Brazilian that Breaks the Mould"/> 
<meta property="og:description" content="Restaurant Review" /> 
<meta property="og:image"       content="[image URL]" /></a>[/caption]" />


 </head> 

 </html>

А в теле поста набрал следующее:

    <script type="text/javascript">
    function postRead()
    {
    FB.api('/me/zeitlife:Read' + 
    '?article=http://zeitlife.co.uk/cabana-brazilian-food-that-breaks-the-mould','post',
     function(response) {
        if (!response || response.error) {
                alert('Error occured');
        } else {
            alert('Post was successful! Action ID: ' + response.id);
            }
    });
    }
    </script>

    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
    FB.init({ 
        appId:'308222752522151', cookie:true, 
        status:true, xfbml:true, oauth:true
    });
    </script>

    <fb:add-to-timeline></fb:add-to-timeline>

    <h3>
        <font size="18" face="verdana" color="blue">
            Cabana
        </font> 
    </h3> 
    <p>
        <img title="Cabana" 
                        src="Image url here" </p>       
<form> <input type="button" value="Read" onclick="postRead()" />
</form>
</html>

Я бы вечноблагодарен, если кто-то может мне помочь!

Я с нетерпением жду вашего ответа.

С уважением,

Ответы [ 2 ]

1 голос
/ 11 июня 2012

Вы делаете вещи сложнее для себя, создавая пользовательское действие чтения.

Facebook предлагает три встроенных типа действий: чтение, прослушивание и просмотр. (См. https://developers.facebook.com/docs/opengraph/actions/builtin/)

Если вы используете встроенную систему:

  • Гораздо проще избежать ошибок
  • Ваши статьи появляются в разделе "Актуальные статьи" новостных лент людей
  • Facebook выполняет большую часть работы, настраивая действия для вас
0 голосов
/ 20 января 2012

Это потому, что у вас есть пробел в:

http://www.zeitlife.co.uk/cabana-brazilian-food-that-breaks-the-mould /

Это должно быть:

http://www.zeitlife.co.uk/cabana-brazilian-food-that-breaks-the-mould/

Я попытался использовать это в:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.zeitlife.co.uk%2Fcabana-brazilian-food-that-breaks-the-mould%2F

И это сработало.

...