上传图片至粉丝专页问题

问题描述 投票:0回答:4

..我正在尝试使用 FaceBookDesktop api for flash 将图像上传到 FB ....我 使用粉丝页面 ID 上传图片,但总是转到我自己的 专辑:/

有人有什么想法吗?

干杯

facebook actionscript-3 facebook-graph-api air facebook-page
4个回答
1
投票
var values:Object = {message:String(nomFotoASubir), fileName:'FILE_NAME',image: sub};
FacebookDesktop.api('/'+albumID+'/photos', handleUploadComplete, values,'POST');    

与 jBit 答案类似,我真的不知道是否需要第一个“/”...另一个。 可能导致错误的原因是您需要页面访问令牌而不是用户访问令牌。 您可以轻松获取此访问令牌,请参阅此注释和链接...

页面访问令牌

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

链接到开发者页面

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


0
投票

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

var params:Object = {image:bitmap, fileName:'FILE_NAME'};
Facebook.api('ALBUM_ID/photos', myCallbackFunction, params, "POST");

0
投票

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


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") ("/" + albumId + "/photos") 能够使用相册 ID 将照片上传到我的 Facebook 帐户中的任何相册。 如果你只想上传到应用程序相册你可以使用(“我/照片”),但我喜欢 ("/" + 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 协议

创建开放图谱协议时,为您的代币选择此选项

操作类型 -> 发布

对象 -> 文章

当您选择操作类型时,请点击右侧链接(“获取代码”)

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

AAAGl5aaLlYYBAGqWHMGbxmasf354R15qXf12xAfOBFskr3OZBSEPw7H7rGt9bH4ZCwHS7Eoft9m8q91NYqzY3WOoGHYDnEgybsjONPNSoo8CZB7jdfsfsB

我希望这对你们有帮助 感谢您的阅读 :)

© www.soinside.com 2019 - 2024. All rights reserved.