如何通过 iOS 中的图形 API 在 Facebook 页面上作为 Page Post 从应用发布?

Posted

技术标签:

【中文标题】如何通过 iOS 中的图形 API 在 Facebook 页面上作为 Page Post 从应用发布?【英文标题】:How to post on Facebook page as Page Post from app via graph API in iOS? 【发布时间】:2015-05-26 09:27:41 【问题描述】:

我正在尝试在 Facebook 页面上发布页面帖子。我在图形代码 API 下方使用,但在其他人发布的同时发布,而不是作为页面管理员/页面本身:

NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
                             @"Testing Post", @"name",
                             @"This is testing", @"message",
                             @"this is description", @"description",                            
                             nil];  

 NSString *feed = [NSString stringWithFormat:@"/Page ID/feed"];

    [FBRequestConnection startWithGraphpath:feed
                                 parameters:params
                                 HTTPMethod:@"POST"
                          completionHandler:^(
                                              FBRequestConnection *connection,
                                              id result,
                                              NSError *error
                                              ) 
                              if(!error)

                                  NSLog(@"%@", result);
                              
                              else
                                  NSLog(@"Error %@", error);

                                  

                          ];

【问题讨论】:

你的会话打开了吗? 【参考方案1】:

如果您想作为主页本身发布,您需要使用具有publish_pages 权限的主页访问令牌。

https://developers.facebook.com/docs/graph-api/reference/v2.3/page/feed#publish https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens

【讨论】:

【参考方案2】:

这是完整的答案

NSString *accesstoken = <Page_Access_Token>

  NSDictionary*  params = [NSDictionary dictionaryWithObjectsAndKeys:
              @"Post heading", @"name",
              accesstoken, @"access_token",
              @"Type post message", @"message",
              @"Hyperlink to your post", @"link",
              @"Add description", @"description",
              @"Image url string", @"picture",
              nil];

    FBRequest *requestToPost = [[FBRequest alloc] initWithSession:nil
                                                        graphPath:@"/me/feed"
                                                       parameters:params
                                                       HTTPMethod:@"POST"];    

    FBRequestConnection *requestToPostConnection = [[FBRequestConnection alloc] init];
    [requestToPostConnection addRequest:requestToPost completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
     
         if (!error)              
             NSLog(@" %@", result);             
         
         else
         
             NSLog(@"%@", error);                        
          

     ];

【讨论】:

请确保您的 Facebook 应用 ID 在状态和评论中有 manage_pages 和 publish_pages。首先获取您的页面令牌,然后使用上面的代码进行共享。有任何问题都可以问我。

以上是关于如何通过 iOS 中的图形 API 在 Facebook 页面上作为 Page Post 从应用发布?的主要内容,如果未能解决你的问题,请参考以下文章

没有下一个用于在 Facebook 的商业帐户图形 API 上获取 instagram 媒体的网址

适用于 iOS 的 Facebook 开放图?

使用 Instagram 新图形 API 在 iOS 应用程序中登录 Instagram

Facebook 个人资料访客图表 API

iOS 中的 FQL 和图形 API

如何在招摇中访问图形api?