actionscript-3 - 使用 AS3 API 将图像发布到 Facebook 相册

标签 actionscript-3 facebook facebook-graph-api facebook-as3-api

我在将图像从我的 Canvas 应用程序发布到用户的相册时遇到了问题。根据 Facebook 文档:

In order to publish a photo to a user’s album, you must have the publish_stream permission. With that granted, you can upload a photo by issuing an HTTP POST request with the photo content and an optional description to one these to Graph API connections:

  1. https://graph.facebook.com/USER_ID/photos - The photo will be published to an album created for your app. We automatically create an album for your app if it does not already exist. All photos uploaded this way will then be added to this same album.
  2. https://graph.facebook.com/ALBUM_ID/photos - The photo will be published to a specific, existing photo album, represented by the ALBUM_ID.

所以,从第一步开始,如果我上传这样的图片...

Facebook.api("me/photos",imagePostCallback,{message:"",image:myImageBitmap,fileName:''},URLRequestMethod.POST);

...那么我可以期望它将我的图像放在以我的应用程序命名的相册中,必要时它会创建该相册?

不是这样

当相册不存在时实际发生的是上传的图像被推送到任何其他存在的方便相册中,这些相册通常用于(并由)其他应用程序。这有点痛苦。

到目前为止,我已经尝试了以下方法:

  1. 禁用沙盒模式。我原以为该应用程序可能无法创建新相册,因为它处于沙盒模式,但是禁用沙盒模式没有任何区别,我可以在启用它的情况下直接创建相册。
  2. 检查我的相册是否存在并在必要时创建它。我可以检查我的相册并在它不存在时创建它,但是我无法上传图像,因为如果不调用 POST 调用 Facebook.api 上传图像将会失败用户交互的直接结果。

所以现在我有点难住了。显然我不可能让我的应用程序将图像发布到竞争对手的相册,但目前我能看到的唯一选择是有效地让用户在必须创建相册时提交他们的图像两次。有什么想法吗?

最佳答案

我猜你的参数中需要 access_token :) 在用户的 facebook 上发布内容时,你总是需要这个(在获取信息时并不总是必需的)。获取accesstoken的方式如下图:)

public function post():void
{
    var _params:Object = new Object();

    _params.access_token = Facebook.getSession().accessToken;
    _params.message = "";
    _params.image = myImageBitmap;
    _params.fileName = "";

    Facebook.api("me/photos", imagePostCallback, _params, URLRequestMethod.POST);
}

还请确保您在请求应用权限时拥有正确的权限。

编辑

好的,所以我有点错过了您的编辑 ;) 应该可以创建您自己的相册。看看这个 graph api 的 php 代码。该代码还应该能够解析为 AS3。

http://developers.facebook.com/blog/post/498/

EDIT2

好吧,我做了更多的挖掘(似乎很有趣)。这实际上应该在使用图形 API 时有效。

FB.api('/me/albums', albumCreateCallback, {name: 'name of the album', message: 'description of the album'}, URLRequestMethod.POST);

当您随后调用另一个 api 调用以在 albumCreateCallback 中上传您的图片时,它应该可以工作并上传您的图片(根据我的发现)。

关于actionscript-3 - 使用 AS3 API 将图像发布到 Facebook 相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6611685/

相关文章:

javascript - 使用 AS3 Adob​​e AIR 加载 YouTube 视频

node.js - 使用 Node.js facebook-node-sdk 的 Open Graph 不接受 Facebook 访问 token

facebook - 从 Facebook 图 api 获取覆盖范围、社交覆盖范围和频率指标

facebook - Facebook 上的错误 191,但 URL 设置正确

django - 在 Django 应用程序中实现 Facebook 登录的简单且最新的方法

android - facebook FQL 让 friend 参加 Activity

javascript - 错误消息 : redirect_uri URL is not properly formatted error

actionscript-3 - Actionscript 3.0 MovieClip 帧更改监听器

actionscript-3 - 当鼠标单击触发时如何停止 mouse_out 触发

actionscript-3 - 八哥 Sprite 内部空白空间的触摸事件