【问题标题】:Post Message/Picture on friends wall in Facebook using FBGraph API (iOS7 and iOS6)使用 FB Graph API(iOS 7 和 iOS 6)在 Facebook 的朋友墙上发布消息/图片
【发布时间】:2014-01-09 12:18:37
【问题描述】:

我正在开发应用程序,我将从我的帐户中检索 Facebook 用户 ID。现在我想直接使用我的应用在我的朋友墙上发布消息或图像。我正在使用 fbgraph API。

我希望这个功能可以在 iOS7 和 iOS6 中使用。是否可以? 我已经尝试过此代码,但我无法收到任何响应。

[_facebook requestWithGraphPath:@"[user_id]/feed"  andParams:[NSMutableDictionary dictionaryWithObject:@"test wall post"forKey:@"message"]

和Http方法:

@"POST"andDelegate:self];

有什么想法吗?

【问题讨论】:

    标签: objective-c facebook-graph-api ios7


    【解决方案1】:

    有两种方法可以做到。

    按图形 API 写在你的课堂上:

    • (void) performPublishAction:(void (^)(void)) action { // 我们将发布权限的请求推迟到发布的那一刻,然后我们检查权限 //publish_actions if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) { // 如果我们还没有权限,那么我们现在请求它 [FBSession.activeSession requestNewPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends completionHandler:^(FBSession *session, NSError *error) { 如果(!错误){ 行动(); } //对于这个例子,忽略错误(例如如果用户取消)。 }]; } 别的 { 行动(); } }

    在你的 share_btn 方法中:

    [自我执行发布操作:^{

                NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                               @"My Name", @"name",
                                               url, @"link",
                                               @"I am a Good guy", @"caption",
                                               @"I love Arsenal", @"description",
                                               @"http://en.wikipedia.org/wiki/File:Arsenal_FC.svg", @"picture"],
                                               nil];
    
                [FBRequestConnection startWithGraphPath:@"me/feed" parameters:params HTTPMethod:@"POST"
                                      completionHandler:^(FBRequestConnection *connection, id result,
    

    NSError *错误) { 如果(错误){ NSLog(@"发布故事出错:%@", error); } 别的 { NSLog(@"故事发布成功"); } }];

            }];
    

    提供图片链接,请注意此 Graph API 不显示共享模式弹出窗口。

    通过 SLCompose

    #import <Social/Social.h>
    #import <Accounts/Accounts.h>
    

    __weak SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [controller setInitialText:[SocialIntegrationNative appShareText]];
    
    [controller addImage:[UIImage imageNamed:@"xyz.png"]];
    
    __block SLComposeViewController *shareController = controller;
    
    [controller setCompletionHandler:^(SLComposeViewControllerResult result) {
    
        switch (result) {
            case SLComposeViewControllerResultCancelled:
    
                break;
            case SLComposeViewControllerResultDone:
    
                break;
    
            default:
                break;
        }
    
    
    }];
    

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多