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]; 
} 
+1

* sidenote *:上述代码不再适用于Facebook iOS SDK 3.x – Raptor

感谢这个职位。与此相关的错误在 https://developers.facebook.com/bugs/111727002307769 并且正在分配。只要我们把它修好了,你应该好好去。谢谢你的耐心。