Facebook iOS SDK对话框参数

Facebook iOS SDK对话框参数,facebook,ipad,ios,Facebook,Ipad,Ios,这可能是一个n00b问题,但并非如此。。。我在iPad应用程序中使用Facebook SDK时有点问题:当我使用[Facebook对话框:@“feed”和delegate:self]显示对话框时我看不到任何方法可以更改我想要共享的内容的标题、内容或URL 在他们的演示应用程序中,Facebook有以下代码: - (IBAction)publishStream:(id)sender { SBJSON *jsonWriter = [[SBJSON new] autorelease]; N

这可能是一个n00b问题,但并非如此。。。我在iPad应用程序中使用Facebook SDK时有点问题:当我使用
[Facebook对话框:@“feed”和delegate:self]显示对话框时我看不到任何方法可以更改我想要共享的内容的标题、内容或URL

在他们的演示应用程序中,Facebook有以下代码:

- (IBAction)publishStream:(id)sender {

  SBJSON *jsonWriter = [[SBJSON new] autorelease];

  NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary 
  dictionaryWithObjectsAndKeys: @"Always Running",@"text",@"http://itsti.me/",
                                @"href", nil], nil];

  NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];
  NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
                               @"a long run", @"name",
                               @"The Facebook Running app", @"caption",
                               @"it is fun", @"description",
                               @"http://itsti.me/", @"href", nil];
  NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
  NSMutableDictionary* params = [NSMutableDictionary
                                 dictionaryWithObjectsAndKeys:
                                 @"Share on Facebook",  @"user_message_prompt",
                                 actionLinksStr, @"action_links",
                                 attachmentStr, @"attachment",
                                 nil];


  [_facebook dialog:@"feed"
          andParams:params
        andDelegate:self];

}
但是,当我按下publishStream按钮时,对话框上不会显示任何字符串!:


有什么事我做得不对吗?在那个演示应用程序中,我所做的更改就是Facebook kAppId和URL方案。

嗯。。我还没有使用过这个示例应用程序,但是如果你想在墙上发布一些东西,我想你需要做一个帖子。请在此处查看此问题和我的答案:

总而言之,以下是我使用的方法:

- (void)requestWithGraphPath:(NSString *)graphPath
                   andParams:(NSMutableDictionary *)params
               andHttpMethod:(NSString *)httpMethod
                 andDelegate:(id <FBRequestDelegate>)delegate;
[user\u id]
的墙上发表评论。

我也遇到了同样的问题。 这就是我找到的解决方案:以这种方式更改代码:

[_facebook dialog:@"stream.publish"
         andParams:params
         andDelegate:self];

使用stream.publish而不是feed。

我意识到这已经得到了回答,但我发现这是正确的答案。它遵循FB所做的。图像和/或链接实际显示在对话框中
stream.publish
没有为我做那个更改。此外,页面还显示
stream.publish
是旧的

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"http://developers.facebook.com/docs/reference/dialogs/", @"link",
                               @"http://fbrell.com/f8.jpg", @"picture",
                               @"Facebook Dialogs", @"name",
                               @"Reference Documentation", @"caption",
                               @"Dialogs provide a simple, consistent interface for apps to interact with users.", @"description",
                               @"Facebook Dialogs are so easy!",  @"message",
                               nil];


[_facebook dialog:@"feed"
        andParams:params
      andDelegate:self];

太棒了,谢谢!你是怎么发现你需要stream.publish而不是feed的?嗯。当我尝试这个时,Facebook对话框返回并声明“h”是不允许的。。。不管h是什么(正如@MrRogers所指出的,stream.publish API已被弃用。您应该改为遵循他的方法。@dbfranz:这已经过时。不再工作。改为遵循罗杰斯先生的答案。问题是使用
对话框:
而不是后台
requestWithGraphPath:
方法。这是正确的答案。stream.publish已注明日期。提要正确,但t示例错误。对话框出现,但消息为空。文档说“消息”字段现在被忽略:愚蠢的是他们没有为此更新示例。谢谢提醒。@Rogers先生,我有一个相关的(但不完全相同的)我想你可能知道答案的问题。你介意看一下吗?我可以使用UIImage而不是HTTP url来显示图片吗?
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"http://developers.facebook.com/docs/reference/dialogs/", @"link",
                               @"http://fbrell.com/f8.jpg", @"picture",
                               @"Facebook Dialogs", @"name",
                               @"Reference Documentation", @"caption",
                               @"Dialogs provide a simple, consistent interface for apps to interact with users.", @"description",
                               @"Facebook Dialogs are so easy!",  @"message",
                               nil];


[_facebook dialog:@"feed"
        andParams:params
      andDelegate:self];