これは私が友達のFacebookの壁にメッセージをプッシュする方法です:
.hファイル内:
#import "FBConnect.h"
#import "FBRequest.h"
#import "FBLoginButton.h"
....
Facebook* _facebook;
NSArray* _permissions;
...
@property (readonly) Facebook *facebook;
.mファイル内:
@synthesize facebook = _facebook;
でviewDidLoad
:
_permissions = [[NSArray arrayWithObjects:@"user_photos",@"user_videos",@"publish_stream",@"offline_access",@"user_checkins",@"friends_checkins",@"email",@"user_location" , @"read_stream", @"read_friendlist",nil] retain];
_facebook = [[Facebook alloc] initWithAppId:kAppId];
SBJSON *jsonWriter = [[SBJSON new] autorelease];
static NSString* kAppId = @"your app key";
NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"your title",@"text",@"http://itunes.apple.com/us/app/facts!/id434894484?l=de&ls=1&mt=8",@"href", nil], nil];
NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
@"Title of the post", @"name",
@"Caption of the post", @"caption",
@"Some description", @"description",
nil];
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId, @"api_key",
@"Share on Facebook", @"user_message_prompt",
actionLinksStr, @"action_links",
attachmentStr, @"attachment",
@"your friends id", @"to",
nil];
[_facebook dialog: @"stream.publish" andParams:params andDelegate:self];
1つ明確にする必要があります。友達のウォールに投稿できるのは、彼が本当に友達リストに含まれている場合のみです。そうでない場合は機能しません。プロファイルでコードをテストしましたが、機能します。