如何获取用户创建的页面列表以及如何发布到特定页面

时间:2014-04-02 19:10:39

标签: ios facebook facebook-graph-api

我显然在这里遗漏了一些东西。我可以成功登录FB并可以访问所有用户数据。但是,我没有看到如何使用他们创建的用户页面的参考,然后允许他们发布到页面。

我想让用户选择他想要发布的页面,然后发帖给他们。

所以这就是我在代码中处理的内容,我已成功登录并可以发布到我的墙上。这是我在那时使用的代码来获取

的列表
 NSArray *pagePermissionsNeeded = @[@"manage_pages"];


[FBRequestConnection startWithGraphPath:@"/me/accounts"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                          if (!error){
                              NSDictionary *currentPermissions= [(NSArray *)[result data] objectAtIndex:0];
                              NSMutableArray *requestPermissions = [[NSMutableArray alloc] initWithArray:@[]];


                              for (NSString *permission in pagePermissionsNeeded){
                                  if (![currentPermissions objectForKey:permission]){
                                      [requestPermissions addObject:permission];
                                  }
                              }


                              if ([requestPermissions count] > 0){

                                  [FBSession.activeSession requestNewPublishPermissions:requestPermissions
                                                                        defaultAudience:FBSessionDefaultAudienceFriends
                                                                      completionHandler:^(FBSession *session, NSError *error) {
                                                                          if (!error) {

                                                                              [self functiontoListPages];
                                                                          } else {

                                                                              NSLog(@"%@", error.description);
                                                                          }
                                                                      }];
                              } else {

                                  [self functiontoListPages];
                              }

                          } else {
                              NSLog(@"%@", error.description);
                          }
                      }];

我使用了Facebook样本中的代码作为我的起点并试图弄明白。我仍然无法在FB之外找到任何可以提供样本或教程的内容。

1 个答案:

答案 0 :(得分:0)

您需要在OAuth流程中收集manage_pages权限才能执行此操作。然后,您可以通过请求

获取页面访问令牌
/me/accounts

为相关用户。请参阅https://developers.facebook.com/docs/facebook-login/permissions#reference-pages

上的文档