【问题标题】:How to Share image on any facebook account?如何在任何 Facebook 帐户上分享图像?
【发布时间】:2015-12-18 10:44:55
【问题描述】:

我在我的 ios 应用程序中使用最新版本的 facebook sdk。我想在 facebook 上分享一个带有一些初始文本的图像。我将我的 facebook 帐户添加为我的应用程序中的 facebook 开发人员帐户中的开发人员。当前图像仅共享我的帐户,而不共享任何其他帐户。有人告诉我,我如何通过登录任何 Facebook 帐户来分享图片。

谢谢,

【问题讨论】:

    标签: ios objective-c iphone


    【解决方案1】:

    要从您的开发者帐户以外的其他帐户发布任何内容,您必须将您的申请提交给 Facebook 审核流程。

    如果 Facebook 发现您使用发布操作的请求合适,那么他们会授予此功能供公众使用。现在,在登录时,如果用户授予 publish_action 权限,那么他/她将能够在各自的 Facebook 帐户中发布内容。

    在这里,我发布了具有 publish_action 权限的登录代码。

        -(void)loginWithPublishActionPermission{
    
    FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
    [loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
    
        [SVProgressHUD dismiss];
        if (error) {
    
            [[[UIAlertView alloc] initWithTitle:kApp_Name message:error.localizedDescription delegate:nil cancelButtonTitle:kAlert_Ok_Button otherButtonTitles:nil, nil] show];
    
        } else if (result.isCancelled) {
    
            //User Canceled Login
            [[[UIAlertView alloc] initWithTitle:kApp_Name message:kAlert_FaceBook_Cancel_Message delegate:nil cancelButtonTitle:kAlert_Ok_Button otherButtonTitles:nil, nil] show];
    
        } else {
    
            // If you ask for multiple permissions at once, you
            // should check if specific permissions missing
            if ([result.grantedPermissions containsObject:@"publish_actions"]) {
    
                NSLog(@"Result : %@",result);
            }
            [self performSegueWithIdentifier:kPush_To_Detail_Segue sender:nil];
        }
    }];
    }
    

    将您的申请提交给 Facebook 进行权限审核。

    在 Facebook 开发者门户中转到您的应用程序的仪表板。

    然后按照以下步骤提交应用程序:

    1) Dashboard --> Status&Review --> Item in Review --> 开始新的提交

    2) 选择 publish_action 复选标记 --> 添加项目

    3) 上传您的模拟器构建,显示使用发布操作功能的应用程序屏幕截图。

    4) 添加分步说明以检查您的应用程序流程。(您如何在应用程序中使用 publish_action ?)

    5) 提交您的应用。

    【讨论】:

    • 感谢萨加尔!你能告诉我Facebook批准一个应用程序需要多少时间。
    • 发布操作保存按钮的注释未启用。你能不能给我发一张完整填写publish_actions注释的截图。
    • 编辑我的答案并添加步骤以将应用程序提交到 Facebook 以获得审核权限。
    • 谢谢兄弟,我正在按照这些步骤操作,但 publish_Action 的注释显示错误。我正在尝试填写注释,但保存按钮不起作用。请将填写 Publish_Action 备注的截图发给我。
    【解决方案2】:

    在 develepors.facebook.com 中选择您的应用,其中有一个“状态和评论”选项。在那个开关上,上面写着“你想让这个应用程序及其所有实时功能对公众可用吗?” 这将允许其他用户也可以使用他们的 Facebook 帐户登录到您的应用

    查看以下链接

    http://i.stack.imgur.com/CW1mu.png

    【讨论】:

    • 我已经公开了我的应用程序状态,但它仅适用于登录,不适用于与某些文本共享图像。
    • 对于从其他帐户发布,您需要提交应用以供审核,因为发布操作需要 Facebook 审核。
    【解决方案3】:
    -(void)FbShare
    {
        FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
        content.contentURL = [NSURL URLWithString:@"https://developers.facebook.com"];
        content.contentTitle=@“Initial Text”;
        FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
        FBSDKSharePhotoContent *content1 = [[FBSDKSharePhotoContent alloc] init];
        UIImage *image=[UIImage imageNamed:[NSString stringWithFormat:@"bleu-heart@3x.png"]];
            photo.image = image;
            photo.userGenerated = YES;
    
            content1.photos = @[photo];
    
            [FBSDKShareDialog showFromViewController:self
                                         withContent:content1
                                            delegate:nil];
    
    
    }
    

    【讨论】:

    • 它只发布带有标题文本或图像的 URL,但我想在不使用 FBSDKShareDialog (如 instagram FB 共享)的情况下共享带有一些初始文本的图像。
    猜你喜欢
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多