Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS上的Facebook共享对话框:“Facebook”;出版「;按钮总是变灰_Ios_Facebook_Facebook Graph Api - Fatal编程技术网

iOS上的Facebook共享对话框:“Facebook”;出版「;按钮总是变灰

iOS上的Facebook共享对话框:“Facebook”;出版「;按钮总是变灰,ios,facebook,facebook-graph-api,Ios,Facebook,Facebook Graph Api,我在Facebook开发者网站上创建了一个自定义的开放图形对象、动作和故事,然后按照教程通过官方FB应用程序发布(无需登录应用程序)。代码如下: NSMutableDictionary<FBGraphObject> *object; NSString *returnUrl = [NSString stringWithFormat:@"http://tettomante.it/questions?%@", [NSString stringW

我在Facebook开发者网站上创建了一个自定义的开放图形对象、动作和故事,然后按照教程通过官方FB应用程序发布(无需登录应用程序)。代码如下:

NSMutableDictionary<FBGraphObject> *object;
NSString *returnUrl = [NSString stringWithFormat:@"http://tettomante.it/questions?%@",
                       [NSString stringWithURLParams:@{@"answer": _answerLabel.text, @"divination": [self divinationNickname]}]];

object = [FBGraphObject openGraphObjectForPostWithType:@"boobs-teller:question"
                                                 title:_questionTextView.text
                                                 image:@"https://d1rdorpdffwq56.cloudfront.net/icona_tettomante.jpg"
                                                   url:returnUrl
                                           description:_answerLabel.text];

NSMutableDictionary<FBOpenGraphAction> *action = (NSMutableDictionary<FBOpenGraphAction> *) [FBGraphObject openGraphActionForPost];
action[@"question"] = object;

// Check if the Facebook app is installed and we can present the share dialog
FBOpenGraphActionShareDialogParams *params = [[FBOpenGraphActionShareDialogParams alloc] init];
params.action = action;
params.actionType = @"boobs-teller:ask";
params.previewPropertyName = @"question";

// If the Facebook app is installed and we can present the share dialog
if([FBDialogs canPresentShareDialogWithOpenGraphActionParams:params]) {
    // Show the share dialog
    [FBDialogs presentShareDialogWithOpenGraphActionParams:params
                                               clientState:nil
                                                   handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
                                                       if(error) {
                                                           // There was an error
                                                           NSLog(@"Error publishing story: %@", error.description);
                                             }
                                                       else {
                                                           // Success
                                                           NSLog(@"result %@", results);
                                                       }
                                                   }];
}
NSMutableDictionary*对象;
NSString*returnUrl=[NSString stringWithFormat:@”http://tettomante.it/questions?%@",
[NSString stringWithURLParams:@{“答案”:_answerLabel.text,@“占卜”:[自占卜昵称]}]];
object=[FBGraphObjectOpenGraphObjectForPostWithType:@“boobs-teller:问题”
标题:_questionTextView.text
图片:@“https://d1rdorpdffwq56.cloudfront.net/icona_tettomante.jpg"
url:returnUrl
描述:_answerLabel.text];
NSMutableDictionary*操作=(NSMutableDictionary*)[FBGraphObject openGraphActionForPost];
行动[@“问题”]=对象;
//检查Facebook应用程序是否已安装,我们可以显示共享对话框
FBOpenGraphActionShareDialogParams*params=[[FBOpenGraphActionShareDialogParams alloc]init];
params.action=动作;
params.actionType=@“boobs-teller:ask”;
params.previewPropertyName=@“问题”;
//如果安装了Facebook应用程序,我们可以显示共享对话框
if([FBDialogs可以显示ShareDialogwithOpenGraphActionParams:params]){
//显示“共享”对话框
[FBDialogs presentShareDialogWithOpenGraphActionParams:params
客户状态:无
处理程序:^(FBAppCall*调用,NSDictionary*结果,NSError*错误){
如果(错误){
//有一个错误
NSLog(@“错误发布故事:%@”,错误。说明);
}
否则{
//成功
NSLog(@“结果%@”,结果);
}
}];
}

问题是,一旦在FB应用程序中,自定义故事预览正确显示,大约10秒后消失,而顶部的“发布”按钮被禁用(变灰),并且无法自行启用。我不明白发生了什么事。我认为这可能是因为该应用程序处于沙盒模式(我使用的是管理员用户,所以这不重要),所以我将其公开,但没有任何更改。然后,我想我必须让FB审查自定义操作,所以我也解决了这个问题,但没有任何变化。现在我不知道下一步该做什么。

我在创建新应用程序时遇到了同样的问题。打开的图形标记必须完全正确,否则您将无法发布您的故事

检查以确保Facebook应用程序仪表板中创建的对象和操作与代码中列出的内容匹配

object = [FBGraphObject openGraphObjectForPostWithType:@"boobs-teller:question"
在这一行中,“boobs teller”应该是您在应用程序的名称空间(Facebook应用程序>设置>基础)中列出的内容,“questions”应该是您在应用程序仪表板中创建的自定义对象(开放图形>对象类型)。如果尚未创建这些,请转到此处:

在这一行中,“boobs-teller”应该是您的应用程序名称空间,“ask”是您在应用程序仪表板中创建的自定义操作(打开图形>操作类型)

详情如下:


你也可以在GitHub上查看iOS应用程序示例,FBOGSampleSD应用程序在学习Open Graph时帮了我很多忙

我遇到了完全相同的问题,还没有找到解决方案。如果你找到了解决方案,请发布。有类似的问题你解决了这个问题吗?我也有这个问题。我有更多关于正在发生的事情的技术细节。如果你仍然有这个问题,请尝试解决我的问题。我非常肯定他们是正确的。。。但仍然无法解决问题。你是否向Facebook提交了自定义开放图故事并获得批准?我希望有一条错误消息,而不是奇怪的行为。我花了几个小时浏览SDK、示例等等。结果是我放了一个。而不是:在我的命名空间和我的操作名称之间。
params.actionType = @"boobs-teller:ask";