Facebook OG / Game问题

时间:2012-04-03 01:28:07

标签: facebook facebook-graph-api opengraph facebook-opengraph

我有一个游戏,当用户“解决”一个“字”时,它应该调用OG请求。

这是电话:

curl -F 'access_token=abc' \
     -F 'tw=theword_solved_goes_here' \
     -F 'word=https://drawabble.com/og/word.php' \
     -F 'scrape=true' \
        'https://graph.facebook.com/me/drawabble:solve'

对象的网址是 - https://drawabble.com/og/word.php?&tw=theword_solved_goes_here

,页面脚本看起来像这样(word.php)

<?
    if( $_GET['fb_action_ids'] ){
        header("Location: http://drawabble.com");
    }
?>
<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# drawabble: http://ogp.me/ns/fb/drawabble#">
  <meta property="fb:app_id"          content="360199164024147" /> 
  <meta property="og:type"            content="drawabble:word" /> 
  <meta property="og:title"           content="<?=($_GET['tw'])? $_GET['tw'] : $_POST['tw']?>" /> 
  <meta property="og:url"               content="https://drawabble.com/og/word.php?tw=<?=($_GET['tw'])? $_GET['tw'] : $_POST['tw']?>" /> 
  <meta property="og:description"     content="Solved on http://drawabble.com" /> 
  <meta property="og:image"           content="https://drawabble.com/drawabble.png" /> 
  <meta property="drawabble:tw"   content="<?=($_GET['tw'])? $_GET['tw'] : $_POST['tw']?>" /> 
</html>

错误是{“error”:{“type”:“Exception”,“message”:“URL上的对象'https://drawabble.com/og/word.php?tw='类型'drawabble :'''无效,因为未提供“string”类型的必需属性“og:title”。“}}

所以我假设标签没有抓住发布的或_get网址...无法找出原因。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

在您的cURL通话中,提供的网址为https://drawabble.com/og/word.php

现在,如果你刮掉那个,og:title是一个空白字符串,因为我们没有传递一个tw get param。我们将两个变量传递给Facebook,但这不会传递给您发布的代码中的应用程序。

因此,请尝试将cURL调用更改为...

curl -F 'access_token=abc' \
     -F 'word=https://drawabble.com/og/word.php?tw=theword_solved_goes_here' \
     -F 'scrape=true' \
        'https://graph.facebook.com/me/drawabble:solve'