ios - 通过 Graph API 和 iOS : (#1) An unknown error occurred 将照片上传到相册时出现 Facebook 错误

标签 ios facebook upload photo

我看过一些关于这个问题的帖子,但到目前为止似乎没有任何帮助。基本上,我正在编写一个 iOS 应用程序并尝试使用 Graph API 将照片发布到 Facebook 相册。图像数据首先从服务器下载,然后发布到 Facebook。我正在使用 ASIFormDataRequest 类和 url https://graph.facebook.com/MY_ALBUM_ID/photos ,但我一直收到以下错误:

error =     {
    message = "(#1) An unknown error occurred";
    type = OAuthException;
};

我的请求是这样的:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:url]];
self.photoRequest = request;
[request setDelegate:self];
[request setPostValue:token forKey:@"access_token"];
[request setPostValue:message forKey:@"message"];
[request setTimeOutSeconds:240];
[request setRequestMethod:@"POST"];

UIImage *image = [UIImage imageWithData:data];

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
    [request setData:imageData forKey:@"source"];

    dispatch_async(dispatch_get_main_queue(), ^{
        [request startAsynchronous];
    });
});

奇怪的是,对于应用程序的不同部分,我使用完全相同的方法将照片上传到我的服务器,并且一切正常。我什至将我试图发送到 Facebook 的照片上传到我的服务器,以查看数据是否正确发布。一切顺利。

我读过 Facebook 有时会吐出我看到的错误,如果它有图像格式问题,但错误本身是非常模糊的。我知道我的 access_token 有效。我向 Facebook 发出的所有其他请求都运行良好。

有什么想法吗?

最佳答案

好吧,我明白了!

碰巧,Facebook 对上传的图片有比例限制。我仍然不确定它们是什么,但就我而言,一张 198x715 的图像不符合它们的比例要求。我们联系了我们在 Facebook 开发团队中认识的一个人,他说他们不会更改限制,但他们会为 API 错误添加更好的消息传递。

希望能帮助遇到类似问题的任何人。

关于ios - 通过 Graph API 和 iOS : (#1) An unknown error occurred 将照片上传到相册时出现 Facebook 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6232267/

相关文章:

objective-c - 像Cloud App一样在Mac上自动上传截图

ios - Swift - 检查对象是否属于给定类型(类型已作为函数参数传递)

iPhone:以编程方式将音频存储为铃声

ios - 无法在非视网膜显示屏上显示完整的 iPhone 6 Plus 模拟器窗口

php - 通过 Facebook 图进行搜索的用户访问 token

android - react-native-fbsdk 的共享插件错误。

android - ParseFacebookUtils [V4-1.9.1] logInWithReadPermissionsInBackground 无效日期

java - 在 Swing 中加载多个文件

javascript - HTML5 文件上传进度 - 仅限客户端

iphone - 使用 MKPolyline 在两个位置之间绘制路径