我想使用 facebook sdk 3.0 在我的朋友墙上发布消息。所以请任何人都可以建议我。
我也试过这个
但它对我不起作用
https://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/
您需要将不推荐使用的标头导入您的项目。它们位于 Documents/FacebookSDK/FacebookSDK.framework/Versions/A/DeprecatedHeaders。导入所有这些文件后,您可以创建一个 facebook 对象并执行其他答案所说的操作。FB 3.0 SDK 不适用于使用 FBDialog 的任何旧功能(发送应用程序请求、发布到您的墙上等)。
我认为这段代码可能有效。
NSMutableDictionary *params;
params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
userID, @"to",
msg,@"message",
theUrl, @"picture",
appLink, @"link",
nil];
[facebook_ dialog:@"feed"
andParams:params
andDelegate:self];
对于 Facebook SDK 3.0:
我正在使用以下 FBRequestConnection 块在我的 facebook 朋友墙上分享我的应用程序,并使用给定的 facebookid 作为方法参数。如果您想在自己的墙上分享相同的内容,只需更改
[NSString stringWithFormat:@"%@/feed",friendId]
和
@"me/feed"
-(void)postToFriendWall:(NSString*)friendId{
NSString *pictureUrl = [NSString stringWithFormat:@"http://......."];
NSMutableDictionary *postParams = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Name", @"name",
@"www.mylink.com", @"link",
@"Caption Text", @"caption",
@"Description Text", @"description",
@"Post Message", @"message",
pictureUrl, @"picture",
nil];
[FBRequestConnection
startWithGraphPath:[NSString stringWithFormat:@"%@/feed",friendId]
parameters:postParams
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (!error) {
UIAlertView *postSentAlert = [[UIAlertView alloc] initWithTitle:@"Facebook"
message:NSLocalizedStringFromTable(@"kFacebookPostAlertTitle", @"ContactList", "")
delegate:nil
cancelButtonTitle:NSLocalizedStringFromTable(@"kOK", @"ApplicationStrings", "")
otherButtonTitles:nil];
[postSentAlert show];
}
}
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"facebook key", @"app_id",
@"http://developers.facebook.com/docs/reference/dialogs/", @"link",
@"image link", @"picture",
@" ", @"description",
@"", @"name",
@" ", @"caption",
nil];
[_facebook dialog:@"feed" andParams:params andDelegate:self];
[_facebook logout];
您无需进行 facebook 身份验证。如果您未登录,则首先显示登录屏幕,然后显示共享对话框。 另请参阅