Facebook IOS SDK可选权限
问题描述:
我的iOS应用程序询问用户“publish_stream”的权限,问题是当可选的权限屏幕出现,用户点击允许非Facebook的SDK不采取这一行动,因为应用程序可以发布在用户墙上。当我检查Facebook帐户上的设置时,我发现存在“以您的名义发布”权限。这里是代码:Facebook IOS SDK可选权限
-(void)loginToFacebook
{
[facebook authorize:permissions];}
- (void)fbDidLogin
{
NSLog(@"did login");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebookAgent accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebookAgent expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
[facebook requestWithGraphPath:@"me/permissions" andDelegate:self];
}
- (void)request:(FBRequest *)request didLoad:(id)result
{
NSLog(@"%@",result);
}
如果用户点击允许在可选权限页面的搜索结果中要求非:didLoad方法是:
{
data = (
{
"create_note" = 1;
email = 1;
installed = 1;
"photo_upload" = 1;
"publish_actions" = 1;
"publish_stream" = 1;
"share_item" = 1;
"status_update" = 1;
"user_birthday" = 1;
"user_hometown" = 1;
"user_location" = 1;
"user_relationships" = 1;
"video_upload" = 1;
}
);
}
,这是邮编:
-(void)publishToFacebook
{
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
@"Name", @"name",
@"Caption", @"caption",
@"Message", @"message",
@"http://url...", @"link",
@"http://imageUrl...", @"picture", nil];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithDictionary:attachment];
[facebook requestWithGraphPath:@"me/feed"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];
}
答
感谢这个职位。与此相关的错误在 https://developers.facebook.com/bugs/111727002307769 并且正在分配。只要我们把它修好了,你应该好好去。谢谢你的耐心。
* sidenote *:上述代码不再适用于Facebook iOS SDK 3.x – Raptor