【问题标题】:posting a swf in facebook feed through facebook api通过 facebook api 在 facebook 提要中发布 swf
【发布时间】:2012-07-23 21:31:01
【问题描述】:

我正在使用下面的数组和

$feeddata = array(
                    'type'=>'flash',
                    'method'=>'stream.publish',
                    'display'=>'iframe',
          'link'=> 'https://developers.facebook.com/docs/reference/dialogs/',
          'source'=>'http://www.hackerdude.com/channels-test/swfscout_VideoSample.swf',
         'picture'=> 'http://fbrell.com/f8.jpg',
          'name'=> 'Facebook Dialogs',
          'caption'=> 'Reference Documentation',
          'description'=> 'Using Dialogs to interact with users.');

并将其传递给 facebook->api($userid.'/feed', 'POST', $feeddata ); 但是在提要中,我只能看到图像,当我单击图像时,它会将我带到链接,我如何在提要中看到 swf(理想情况下,单击图片时它应该切换到 swf)

【问题讨论】:

    标签: facebook facebook-graph-api post feed


    【解决方案1】:

    type 应该是“视频”而不是“闪光灯”。这是一个在我的测试中生成可播放视频的参数数组:

    array(
        'type'=>'video',
        'source'=>'http://www.hackerdude.com/channels-test/swfscout_VideoSample.swf',
        'picture'=> 'http://fbrell.com/f8.jpg',
        'name'=> 'Facebook Dialogs',
        'caption'=> 'Reference Documentation',
        'description'=> 'Using Dialogs to interact with users.',
    );
    

    注意没有link 属性,这是因为在我看来,Facebook API 目前有一个错误,如果您提供链接,则它不会嵌入您的视频.

    由于 JS SDK 确实接受链接并生成可播放的视频所强化的错误理论,如果可行,您可以迁移到此方法进行发布,参数如下:

    FB.ui({
         method:'feed',
         type: 'video',
         name: 'Facebook Dialogs',
         link: 'https://developers.facebook.com/docs/reference/dialogs/',
         picture: 'http://fbrell.com/f8.jpg',
         caption: 'Reference Documentation',
         source: 'http://www.hackerdude.com/channels-test/swfscout_VideoSample.swf',
         description: 'Using Dialogs to interact with users.'
    });
    

    解决方法

    如果您发布的链接具有适当的用于视频嵌入的 opengraph 元标记,嵌入似乎工作正常,这是一个示例:

    要分享的链接(youtube 为您带来的视频)

    <html>
    <head>
        <title>Fly, you fools!</title>
        <meta property="og:title" content="Fly, you fools!" />
        <meta property="og:type" content="website"/>
        <meta property="og:description" content="Content for Description" />
        <meta property="og:image" content="http://i2.ytimg.com/vi/meOCdyS7ORE/mqdefault.jpg" />
        <meta property="og:site_name" content="Content for caption"/>
        <meta property="og:video" content="http://www.youtube.com/v/meOCdyS7ORE?version=3&autohide=1">
        <meta property="og:video:type" content="application/x-shockwave-flash">
        <meta property="og:video:width" content="640">
        <meta property="og:video:height" content="360">
    </head>
    <body>
    <script>
        window.location = 'http://disney.com'; // redirecting users who's clicking on the link, wont affect crawlers since its in js.
    </script>
    </body>
    </html>
    

    调用php sdk分享一下

    $this->facebook->api('/me/feed', 'post', array(
        'type' => 'link',
        'link' => 'http://.../', // put the html file's location here
    ));
    

    【讨论】:

    • 现在正在做同样的事情,但点击图片会将我带到一个新标签页,其中打开了 swf,它不会将图片切换到 swf 本身。
    • 是的,这也是我在通过 Graph API 发布时发生的事情(该名称也链接到 swf 文件),正如我所写。我认为这是一个错误,创建了一个bugreport
    • 我贴出来了,下划线有问题,只有fb端的一个bug
    • 当我发布到 facebook 时,我也面临同样的问题,第一个拇指将加载 flash 播放按钮,但是当我在时间轴上看到它时,只显示链接,它没有显示任何图像和 flash 播放器
    【解决方案2】:

    再写一个met标签: <meta property="og:video:secure_url" content="https://...game url."> "

    尝试把“https://”游戏url,即带有ssl的游戏swf url,因为fb只需要ssl url来播放视频或游戏的swf文件。

    希望这将是有用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多