七个地狱(饲料问题,照片发布问题等)

时间:2011-12-04 12:57:46

标签: facebook flash feed photos

了解快速事实

  • 平台:带Facebook的Actionscript 3
  • SDK编译器:FlashDevelop
  • 程序员:头疼:(

我一直在编写一个应用程序,它可以让您从网络摄像头拍摄照片并将其发布到名为“我的应用程序”的相册中的用户照片(这是FB在您未指定相册时所执行的操作),然后将照片链接到一个新的Feed帖子中,然后将其上传到我客户的网络服务器,我的客户可以批准它在公司的Facebook页面上发布。

这听起来应该很简单,但是我遇到了大量各种性质的问题,改变了应用程序一百次(在Facebook改变政策混乱之后),但我似乎无法获得令人满意的结果。

这些是我尝试的方式:

  1. 将照片上传到用户的appname自动相册相册,从上传照片获取Facebook的网址,然后以这种方式将网址提供给要创建的Feed:

    url = Facebook.getImageUrl(response.id);

    var data:Object = { message:'testest', picture:url, description: 'test' };

    Facebook.api("/me/feed", feedresponse, data, "POST");

  2. 这很好用,但在一些更新后我遇到了可怕的“(#341)Feed动作请求限制”。这对于我正在制作的应用程序来说是不可接受的。

    1. 所以我读到Facebook更改了政策,他们现在建议通过发布Facebook.ui('feed', data);来使用提供的Feed创建对话框,因此我重复了1)中的步骤,将照片上传到用户相册,从中获取了URL ID,在Feed创建对话框中使用了该url,但我很快就遇到了可怕的“流中不允许FBCDN图像”,wtf。
    2. 3)所以我试图让图像更小,有一些随机网络民众建议,但错误将持续存在。

      4)然后我尝试自己托管这些图像,就像在客户端的网络服务器上一样,就像其他一些网络冲浪者建议的那样,但这也不起作用:

      var data:Object = {
        message: "Hey!",
        picture: "https://<domain>/facebookapp/bin/immagini/27.jpg",
        link: "https://<domain>/facebookapp/bin/immagini/27.jpg",
        name: "moo photos",
        caption: "moo photos",
        description: "You took a picture! yay!"
      };
      
      Facebook.ui('feed', data);
      

      正确显示供稿对话框,已创建供稿,但您无法看到图片。应直接显示在Feed中的图片仅作为用户点击的链接出现。

      使用图形api检查Feed原始数据会发现“picture”属性没有设置为Feed,就像1)一样:

      "message": "ppipipi",
               "link": "https://<domain>/facebookapp/bin/immagini/27.jpg",
               "name": "https://<domain>/facebookapp/bin/immagini/27.jpg",
               "caption": "lol my heart out",
               "description": "die in pain!",
               "icon": "https://www.facebook.com/images/icons/default_app_icon.gif",
               "actions": 
      

      5)所以我尝试使用前面步骤中的FBCDN图像链接并且它有效!不是FBCDN不允许??似乎接受服务器上已有的那些?

      6)我改变了应用程序的流程,现在当我将照片更新到用户的相册时,就像这样:

       var data:Object = { message:'TESTTESTTEST', fileName:'FILE_NAME', image:bitmapdata};
              Facebook.api("/me/photos", uploadDone, data, "POST");
      

      uploadDone如果上传确实有效,则永远不会被调用!

      我做错了什么?

1 个答案:

答案 0 :(得分:0)

正如您的帖子所述,这是一个在“政策变更”后需要修改的应用程序。也许你错过了Facebook禁用了message参数。

如果您要使用FB.ui()发起对话,则由用户输入他/她想要的消息。

不确定这是否会解决您的问题,但我有一些Facebook的经验完全忽略了我在message参数时发布的帖子。