Facebook opengraph中的奇怪错误

时间:2012-05-08 18:44:11

标签: facebook facebook-opengraph

我正在尝试使用js sdk发布动作。

我的操作代码是

 function watchvid()
  {
      FB.api(
        '/me/video.watches?video=http://watchvideoz.in/watch.php?v=34',
        'post',
        function(response) {
           if (!response || response.error) {

              alert(JSON.stringify(response.error)); 
           } else {
var a = response.id;
    MyApp.color = a;

           }
        });
  }

我的元标记是

<meta property="og:url" content="http://watchvideoz.in/watch.php?v=34"/>    
<meta property="fb:app_id" content="288976161189701"/>  
<meta property="og:title" content="Buckys C++ Programming Tutorials - 9 - Functions"/> 
<meta property="og:type" content="video.other" />
<meta property="og:image" content="http://img.youtube.com/vi/bsWWHo4KDHE/hqdefault.jpg"/>   
<meta property="og:description" content="For all of our videos, visit http://thenewboston.com"/>
<meta property="og:site_name" content="YourVidz"/>

但我收到以下错误

{"message":"(#3502) Object at URL http://watchvideoz.in/watch.php?v has og:type of 'website'. The property 'video' requires an object of og:type 'video.other'. ","type":"OAuthException","code":3502}

在上述错误中,它会忽略 = 之后的值,即仅检索 http://watchvideoz.in/watch.php?v

虽然fb调试器工具正在检索正确的值

http://watchvideoz.in/watch.php?v=34

1 个答案:

答案 0 :(得分:0)

如果你传递一个url作为查询字符串参数,你需要“url编码”它以便'?'和'&amp;'在你自己的查询字符串中不会与“父”网址中的那个混淆。 试试http://watchvideoz.in/watch.phpp%3Fv%3D34