0

..我正在尝试使用FaceBookDesktop api for flash将图像上传到FB ....我正在使用Fan page id上传图片但总是转到我自己的相册:/

有人有什么想法吗?

干杯

4

4 回答 4

1
var values:Object = {message:String(nomFotoASubir), fileName:'FILE_NAME',image: sub};
FacebookDesktop.api('/'+albumID+'/photos', handleUploadComplete, values,'POST');    

类似于 jBit 的答案,我真的不知道是否需要第一个'/'... Anoth。可能导致错误的事情是您需要页面访问令牌而不是您的用户访问令牌。您可以轻松获得此访问令牌,请参阅此说明和链接...

页面访问令牌

要以 Page 而非当前用户的身份执行以下操作,您必须使用 Page 的访问令牌,而不是通常用于读取 Graph API 对象的用户访问令牌。可以通过向具有 manage_pages 权限的 /USER_ID/accounts 发出 HTTP GET 来检索此访问令牌。这将返回用户具有管理权限的页面列表(包括应用程序配置页面),以及这些页面的 access_tokens。或者,您可以通过向具有 manage_pages 权限的 /PAGE_ID?fields=access_token 发出 HTTP GET 来获取单个特定页面的页面访问令牌,如上所述。除非另有说明,否则发布到页面还需要 publish_stream 权限。

链接到开发者页面

请如果某些答案是正确的,请将其标记为正确,如果您有其他问题,请告诉我们,以便我们可以帮助您解决问题和其他人类似的问题...

于 2011-12-14T14:08:24.320 回答
0

默认情况下,上传一张图片,一张图片会转到当前登录用户的页面。您需要为您的粉丝页面获取一个身份验证令牌,该令牌授权所有应用用户作为应用的上传者。因此,您将拥有用户和应用程序的令牌。如果您使用应用令牌,您可以上传它。

于 2011-07-29T00:05:37.950 回答
0

您是否尝试过发布到专辑(即使用目标专辑 ID)而不是粉丝页面本身?

var params:Object = {image:bitmap, fileName:'FILE_NAME'};
Facebook.api('ALBUM_ID/photos', myCallbackFunction, params, "POST");
于 2011-07-28T17:13:38.847 回答
0

我遇到了这个问题,我希望能够将图片上传到记录的用户照片和我的应用帐户相册。

我的意思是图片将始终上传到 facebook 使用您的应用名称自动创建的相册中。在您的帐户和登录的用户帐户中,一旦他们授予您的应用程序权限。

所以知道了这一点,我做了以下事情。

为了管理权限,我使用了具有所需权限的数组,我使用了这个

var permissions:Array = new Array("publish_stream", "user_photos" , "publish_actions");
FacebookDesktop.login(onLogin, permissions);

登录完成后,我可以使用此上传图像

用于将照片上传到登录的用户相册

// photoBitmap is my image loaded and placed in a Bitmap var
// photoMessage is an string with the message you want to show in the image
// fileName is an string with the name you want to use for the image

    var photoParams:Object = {image: photoBitmap, message: photoMessage, fileName: photoName};

    FacebookDesktop.api("me/photos", uploadCompleteHandle, photoParams, "POST");

    function uploadCompleteHandle(success:Object, fail:Object):void{

        if(success){
           trace("Image uploaded successfuly");
           }else{
             trace("Fail uploading image");
             }
           }

要将图像上传到应用程序帐户相册,我确实使用了这个:

var photoParams:Object = {image: photoBitmap, message: photoMessage, fileName: photoName, access_token: accessToken};

FacebookDesktop.api("/" + albumId + "/photos", uploadCompleteHandle, photoParams, "POST");

private function uploadCompleteHandle(success:Object, fail:Object):void{

    if(success){
       trace("Image uploaded successfuly");
       }else{
         trace("Fail uploading image");
         }
       }

请注意,它的变化是我添加了一个额外的参数 (access_token) 并更改 ("me/photos") for ("/" + albumId + "/photos")以便能够将照片上传到任何相册我的 Facebook 帐户使用专辑 ID。如果您只想上传到应用程序相册,您可以使用("me/photos"),但我喜欢 ("/" + albumId + "/photos")因为我可以选择不同的相册而不是 Facebook 自动创建的相册

要查找专辑 ID,只需转到您在 Facebook 中的专辑,在页面末尾您可以看到如下内容:(https://www.facebook.com/media/set/?set=a.411960374564668.85712. 100120829275312 &type=3&l=216e24dddf) 专辑ID是这部分100120829275312

对于此代码工作,您需要一个 access_token。要获得一个,您需要转到 Facebook 中的应用程序设置并添加 Open Graph 协议

创建 Open Graph 协议时,为您的令牌选择此选项

动作类型 -> 发布

对象 -> 文章

当您选择操作类型时,请单击正确的链接(“获取代码”)

你会看到一个窗口,里面有很多用于不同情况的代码。在这些代码中,您可以看到 access_token 的值,是这样的

AAAGl5aaLlYYBAGqWHMGbxmasf354R15qXf12xAfOBFskr3OZBSEPw7H7rGt9bH4ZCwHS7Eoft9m8q91NYqzY3WOoGHYDnEgybsjONPNSoo8CZB7jdfsfsB

我希望这可以帮助你们感谢阅读:)

于 2012-07-30T16:05:14.717 回答