iOS:上传到 Facebook 的照片并不总是上传
Posted
技术标签:
【中文标题】iOS:上传到 Facebook 的照片并不总是上传【英文标题】:iOS: Photo uploaded to Facebook does not always upload 【发布时间】:2011-11-08 01:06:54 【问题描述】:我有一个 iPhone/iPad 应用程序,它可以进行一些基本的照片编辑,并让用户可以选择将成品上传到 Facebook。该应用程序拥有超过 100,000 名用户,大多数人似乎都可以将照片上传到 Facebook。然而,有少数用户似乎无法上传他们的照片,无论他们尝试什么。我与他们合作以确保不是应用程序权限或 Facebook 设置阻止了他们,并且在那里找不到任何问题。所以我想知道我是否在使用 FBConnect 时做错了什么,导致问题偶尔出现。代码如下:
- (void)initFacebook
if( self.facebook == nil )
Facebook *fb = [[Facebook alloc] init];
self.facebook = fb;
[fb release];
if( [self.facebook isSessionValid] )
[[NSNotificationCenter defaultCenter] postNotificationName:@"FacebookIsReady"
object:nil
userInfo:nil];
else
NSArray *perms = [NSArray arrayWithObjects:@"publish_stream", @"user_likes", nil];
[self.facebook authorize:MY_FB_APP_ID permissions:perms delegate:self];
-(void)fbDidLogin
[[NSNotificationCenter defaultCenter] postNotificationName:@"FacebookIsReady"
object:nil
userInfo:nil];
// this is in a different class
- (void)facebookIsReady:(NSNotification *)notification
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:self.theImage, @"source", nil];
[appDelegate.facebook requestWithGraphpath:@"/me/photos"
andParams:params
andHttpMethod:@"POST"
andDelegate:appDelegate];
在 FBRequestDelegate 中,即使照片未能出现在 Facebook 个人资料中,也始终调用 didLoad。所以我得到的是代码似乎永远不会失败,但照片并不总是出现在 Facebook 个人资料上。
是否有可能该应用无法在用户个人资料上创建新相册?我以前曾在各个小组上看到其他人报告过这个问题,但从未找到实际的解决方案。谢谢。
【问题讨论】:
【参考方案1】:您必须在您的权限数组中包含user_photos
,如下所示:
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_photos",
@"publish_stream",
@"user_likes",
nil];
这里是所有权限的列表:https://developers.facebook.com/docs/reference/api/permissions/
【讨论】:
补充一点:如果没有user_photos
,如果照片上传成功,请用户手动导航到他们的相册并浏览一下。如果它确实有效,他们可能会遇到一个 UI,告诉他们有待处理的上传需要手动批准。该对话框非常低调,因此很容易错过。 (此外,可能还有一个手动隐私设置,即使包含user_photos
权限,用户也可以切换以强制执行此行为 - 只是猜测。)【参考方案2】:
在 Facebook vie Social Framework 上上传照片要容易得多。
请检查以下链接
Fabecook Sharing
【讨论】:
以上是关于iOS:上传到 Facebook 的照片并不总是上传的主要内容,如果未能解决你的问题,请参考以下文章
通过 Graph API 和 iOS 将照片上传到相册时出现 Facebook 错误:(#1) 发生未知错误
使用 iOS SDK 将多张照片作为单个帖子上传,例如时间线照片,而不是 Facebook 中的相册