2012-02-01 100 views
2

由于某些原因,我在授权我的应用程序时不断获得'基本信息'的单一权限。这是我的代码:iOS Facebook权限

- (void)login { 
    if (![facebook isSessionValid]) { 
     NSArray *permissions = [NSArray arrayWithObjects:@"offline_access",@"publish_stream",nil]; 
     [facebook authorize:permissions]; 
    } 
} 

http://bit.ly/z1MVsk

谁能帮助我吗?我需要发布权限和位置权限。

回答

2

试试这个,它应该工作

- (void)login { 
     if (![facebook isSessionValid]) { 
      NSArray *permissions = [NSArray arrayWithObjects:@"user_photos",@"user_videos",@"publish_stream",@"offline_access",@"user_checkins",@"friends_checkins",@"email",@"user_location" ,nil]; 
      [facebook authorize:permissions]; 
     } 
    } 
+0

它工作完美,谢谢! :) – Homeschooldev 2012-02-01 14:18:31

0

我认为当您要求授权应用程序时,不会提示“offline_access”权限。它所做的只是将到期日期延长到比正常情况“长寿”。所以,imo,这不是一个真正的要求许可。

我认为即使您发送一个空许可权已经授予发布权限。我可以通过使用[facebook授权:无];来发送Feed。但是你将无法使用“消息”字段作为零权限,(facebook会忽略它)。为此,您需要“publish_stream”权限。

至于位置权限,您需要“user_location”来做到这一点。有关权限列表,请参见http://developers.facebook.com/docs/reference/api/permissions/

希望这有助于:)

+0

那确实帮助! :) – Homeschooldev 2012-02-01 14:44:57

+0

我该如何使用位置字段?我无法将城市,经度和纬度全部集中在一个领域。 – Homeschooldev 2012-02-01 14:47:36

+1

@Homeschooldev试试这个 - http://tylerwhitedesign.com/how-to-check-in-using-the-facebook-ios-sdk-and-graph-api – Hlung 2012-02-13 05:47:38