..我正在尝试使用FaceBookDesktop api将图像上传到FB ...我是 使用粉丝页面ID上传图片,但总是发给我自己的 专辑:/
有人有点想法吗?
干杯
答案 0 :(得分:1)
var values:Object = {message:String(nomFotoASubir), fileName:'FILE_NAME',image: sub};
FacebookDesktop.api('/'+albumID+'/photos', handleUploadComplete, values,'POST');
与jBit的答案类似,我真的不知道第一个'/'是否需要...... Anoth。 可能导致错误的是您需要页面访问令牌而不是您的用户访问令牌。 您可以轻松获取此访问令牌,请参阅此说明和链接...
页面访问标记
要以页面而不是当前用户身份执行以下操作,您必须使用Page的访问令牌,而不是通常用于读取Graph API对象的用户访问令牌。可以通过使用manage_pages权限向/ USER_ID / accounts发出HTTP GET来检索此访问令牌。这将返回用户具有管理访问权限的页面列表(包括应用程序配置文件页面)以及这些页面的access_tokens。或者,您可以通过使用manage_pages权限向/ PAGE_ID?fields = access_token发出HTTP GET来获取单个特定页面的页面访问令牌,如上所述。除非另有说明,否则发布到页面还需要publish_stream权限。
如果某些答案是正确的,请将其标记为正确,如果您有其他问题,请告诉我们,以便我们帮助您解决问题以及其他人类似问题......
答案 1 :(得分:0)
您是否尝试过发布到相册(即使用目标相册ID)而不是粉丝页面本身?
var params:Object = {image:bitmap, fileName:'FILE_NAME'};
Facebook.api('ALBUM_ID/photos', myCallbackFunction, params, "POST");
答案 2 :(得分:0)
默认情况下,将图像上传到图像将转到当前登录用户的页面。 您需要为您的粉丝页面获取一个身份验证令牌,该令牌授权所有应用用户作为应用的上传者。因此,您将为用户和应用程序提供令牌。如果您使用了应用令牌,则可以将其上传。
答案 3 :(得分:0)
我有这个问题,我希望能够将图片上传到用户照片和我的应用帐户相册。
我的意思是图片将始终上传到Facebook自动创建的相册中,并附上您的应用名称。在您的帐户和贷款用户帐户中,一旦他们授予您的应用权限。
所以知道这一点我做了以下。
为了管理permisions,我使用了一个具有所需权限的数组,我使用了这个
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)并进行了更改 (“我/照片”)用于(“/”+ albumId +“/ photos”),以便能够将照片上传到我的Facebook帐户中的任何相册相册ID。 如果您只想上传到应用相册,可以使用(“我/照片”),但我喜欢 (“/”+ 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 强>
我希望这能帮助你们 谢谢阅读 :)