Facebook发布状态

时间:2011-09-25 09:38:20

标签: iphone objective-c facebook

我正在使用facebook ios api,如果用户点击某些内容,我想为用户发布状态。

问题是我想在不使用FBDialog的情况下这样做而且我没有找到任何这样做 - 我只找到了方法:

[[FBRequest requestWithDelegate:self] call:@"facebook.fql.status" params:params];

但是这个方法不再在API中使用了。

2 个答案:

答案 0 :(得分:1)

他们使用Graph API取代了FBRequest,这非常容易使用,只需要这样的东西就可以在没有FBDialog的情况下发布(为了做到这一点你需要publish_stream权限):

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   kAppID, @"app_id",
                                   @"http://developers.facebook.com/docs/reference/dialogs/", @"link",
                                   @"http://fbrell.com/f8.jpg", @"picture",
                                   @"Facebook Dialogs", @"name",
                                   @"Reference Documentation", @"caption",
                                   @"Using Dialogs to interact with users.", @"description",
                                   nil];
    [facebook requestWithGraphPath:@"/me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self];

如果帖子成功发布,只需检查委托方法:

(void)request:(FBRequest *)request didLoadRawResponse:(NSData *)data;
(void)request:(FBRequest *)request didFailWithError:(NSError *)error;

答案 1 :(得分:0)

虽然从技术上讲,你可以通过图表API通过发布到具有publish_stream权限的/ me / feed来执行此操作,但是Facebook Platform Policy反对使用非用户生成的内容预填充消息文本。 Facebook弃用了对话框中的message参数:

  

此字段将在2011年7月12日被忽略。预先填写的消息   用户将键入的文本字段。符合Facebook   平台策略,您的应用程序可能只设置此字段   用户在工作流程的早期手动生成内容。最   应用程序不应该设置它。