如何在Facebook PHP SDK上发布.swf

时间:2016-02-02 10:09:30

标签: php facebook fbsdk

我正在尝试使用PHP SDK 5.2发布.swf。我试过几种方法 例如:

$linkData = [
'type'=> "video",
'source'=> "https://mysite/my_file.swf",
'name'=> $_GET['message1'],
'caption'=> $_GET['caption'], 
'description'=> $_GET['message2'],
'message' => $_GET['message3']
];
try {
    $response = $fb->post('/me/feed', $linkData, $user->access_token);
  } catch(Facebook\Exceptions\FacebookResponseException $e) {
    $this->ueoutputs['errors'][] = $e->getMessage();
    exit;
  } catch(Facebook\Exceptions\FacebookSDKException $e) {
    $this->ueoutputs['errors'][] = $e->getMessage();
    exit;
  }

它给了我一个Facebook\Exceptions\FacebookResponseException

  

模板数据必须是JSON编码的字典,格式为{' key-1':' value-1',' key-2': ' value-2',...}

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

尝试将/me/feed更改为/me/videos。它对我有用。

    $response = $fb->post('/me/videos', $linkData, $user->access_token);

答案 1 :(得分:0)

解决方法是使用Open Graph Protocol。 这是一个例子:

<meta property="og:audio" content="http://example.com/bond/theme.mp3" />
<meta property="og:description" 
  content="Sean Connery found fame and fortune as the
           suave, sophisticated British agent, James Bond." />
<meta property="og:determiner" content="the" />
<meta property="og:locale" content="en_GB" />
<meta property="og:locale:alternate" content="fr_FR" />
<meta property="og:locale:alternate" content="es_ES" />
<meta property="og:site_name" content="IMDb" />
<meta property="og:video" content="http://example.com/bond/trailer.swf" />