如何在 iOS 中以 pageadmin 身份在 Facebook 页面上发布状态提要?

Posted

技术标签:

【中文标题】如何在 iOS 中以 pageadmin 身份在 Facebook 页面上发布状态提要?【英文标题】:How to post status feed on Facebook page as pageadmin in iOS? 【发布时间】:2014-10-01 12:29:02 【问题描述】:

我想在我的 Facebook 页面上发布状态。状态应在 Facebook 上显示为页面状态,而不是来自任何用户名或我的姓名的状态。

我试过下面的代码,

 NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:@"This is a check for page post message", @"message", nil];

/* make the API call */
[FBRequestConnection startWithGraphpath:@"/1521177224766299/feed"
                             parameters:params
                             HTTPMethod:@"POST"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
     if (result)
     
         NSLog(@"Result %@", result);
     
     else
     
         NSLog(@"%@", error);
     
 ];

消息状态已发布完成页面墙,但该状态来自我的名字。 但是,当我尝试使用 page_id/feed POST Query 和相同的参数 @"this is my status" @"message" 从图形 api 资源管理器页面点击相同的发布方法时,它从页面而不是我发布状态。

请帮忙。

【问题讨论】:

您想以管理员身份在页面名称中将消息作为页面发布 【参考方案1】:
 NSString *accesstoken=[NSString stringWithFormat:@"%@","here add your page access_token"];

    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                            accesstoken, @"access_token",
                            postingString, @"message",

                           // @"http://www.real-timesports.com", @"link",


                            nil];

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


    NSLog(@"requestToPost==%@",requestToPost);

    FBRequestConnection *requestToPostConnection = [[FBRequestConnection alloc] init];
    [requestToPostConnection addRequest:requestToPost completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
     


         NSLog(@"facebook result >> %@", result);


     ];
    [requestToPostConnection start];

【讨论】:

这已成功发布为页面管理员名称而不是您的名称 如果你有任何疑问,我会解释你 它工作了几次,然后我再次启动应用程序并尝试它返回 NULL。脸书结果>>(空) 检查您的权限是被授予还是被拒绝,如果被授予它工作正常【参考方案2】:

这是完整的答案

NSString *accesstoken = <Facebook_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 中以 pageadmin 身份在 Facebook 页面上发布状态提要?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jenkins 中以 root 身份运行脚本?

如何检查是不是在 bash 脚本中以 root 身份运行

如何在 Docker 容器中以非 root 用户身份启动 cron?

如何在 python 中以管理员身份进行身份验证、查询和变异 Hasura? [关闭]

如何在初始化脚本中以特定用户身份运行命令?

如何在 docker 中以非 root 用户身份写入卷容器?