2012-02-24 3 views
3

Я пытаюсь опубликовать «смотреть» действия, но я всегда имею эту ошибку:Неизвестные компоненты пути

Error occured 

Type: OAuthException 

Message: Unknown path components: /MyAppName:watch 

Это моя JS функция:

function postWatch() 
    { 
FB.api('/me/MyAppName:watch' + 
    '?video=http//myLink.com','post', 
    function(response) { 
    var msg = 'Error occured'; 
    if (!response || response.error) { 
    if (response.error) { 
    msg += "\n\nType: "+response.error.type+"\n\nMessage: "+response.error.message; 
    } 
    alert(msg); 
    } 
    else { 
    alert('Post was successful! Action ID: ' + response.id); 
    } 
    }); 
    } 

Это мой OG: тег

<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# video: http://ogp.me/ns/video#"> 
    <meta property="fb:app_id" content="MyAppID" /> 
    <meta property="og:title" content="MyTitle" /> 
    <meta property="og:image" content="http://MyUrlImage.com" /> 
    <meta property="og:description" content="MyDescription" /> 
    <meta property="og:url" content="MyLink.com"> 
    <meta property="og:site_name" content="MySiteName" /> 
    <meta property="og:type" content="video.movie" /> 

Любые идеи?

Спасибо;)

PS: Извините за мой бедный английский, я французский;)

С уважением

ответ

4

Для встроенных действий синтаксис отличается. Используйте video.watches

+1

О боже !!! Работайте отлично! Большое спасибо !!! –

2

На самом деле для ваших собственных действий/объекты, которые вы могли бы использовать следующий синтаксис:

var params = {}; 
params['video'] = 'http://example.com/myvideo.html'; 
FB.api('me/mynamespace:watch','post',params,function(response){ 
     console.log(response); 
}); 

Это на самом деле публиковать на стене действия с объектом, если пользователь предоставил publish_actions разрешение. Для разрешений, что вы, вероятно, хотите, чтобы убедиться, что у вас есть разрешение, поэтому такая проверка должна выглядеть примерно так:

FB.api('me/permissions','get',function(response){ 
     if (response.data[0].publish_actions){ 
      //do your magic 
     }  
}); 
Смежные вопросы