Iphone 如何在objective C中为Facebook上的用户帖子添加好友标签
我尝试使用Facebook Feed对话框发布文本和图像,我可以发布到自己的墙上,但不能标记朋友。我可以从FBFriendPickerViewController中选择朋友,但当我单击“完成”时,返回错误5。在stackoverflow问题之一(发布状态更新时ios Facebook SDK 3.0错误5)中,有几种方法可以获得此错误,我已经纠正了该问题中提到的所有可能的方法 提要对话框是否正确[FBRequestConnection startWithGraphPath:@“%@/feed”参数:参数 这是我的密码Iphone 如何在objective C中为Facebook上的用户帖子添加好友标签,iphone,ios,objective-c,facebook,Iphone,Ios,Objective C,Facebook,我尝试使用Facebook Feed对话框发布文本和图像,我可以发布到自己的墙上,但不能标记朋友。我可以从FBFriendPickerViewController中选择朋友,但当我单击“完成”时,返回错误5。在stackoverflow问题之一(发布状态更新时ios Facebook SDK 3.0错误5)中,有几种方法可以获得此错误,我已经纠正了该问题中提到的所有可能的方法 提要对话框是否正确[FBRequestConnection startWithGraphPath:@“%@/feed”参
- (IBAction)pickFriendsList:(UIButton *)sender
{
FBFriendPickerViewController *friendPickerController = [[FBFriendPickerViewController alloc] init];
friendPickerController.title = @"Pick Friends";
[friendPickerController loadData];
[friendPickerController presentModallyFromViewController:self animated:YES handler:
^(FBViewController *sender, BOOL donePressed) {
if (!donePressed) {
return;
}
NSString* fid;
NSString* fbUserName;
for (id<FBGraphUser> user in friendPickerController.selection)
{
NSLog(@"\nuser=%@\n", user);
fid = user.id;
fbUserName = user.name;
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"aaaaaa", @"message", @"http://webecoist.momtastic.com/wp-content/uploads/2009/01/nature-wonders.jpg", @"picture", @"My Susfsdfsdfs sdf sfsdfp", @"name", nil];
NSLog(@"\nparams=%@\n", params);
[FBRequestConnection startWithGraphPath:@"%@/feed" parameters:params HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{
//Tell the user that it worked.
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Shared"
message:[NSString stringWithFormat:@"Invited %@! error=%@", fbUserName, error]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
NSLog(@"%@ alertview description",alertView.message);
}
];
}
}];
}
-(iAction)pickFriendsList:(UIButton*)发送者
{
FBFriendPickerController*friendPickerController=[[FBFriendPickerController alloc]init];
friendPickerController.title=@“选择朋友”;
[friendPickerController装载数据];
[friendPickerController呈现ModallyFromViewController:自设置动画:是处理程序:
^(FBViewController*发送器,BOOL donePressed){
如果(!donePressed){
返回;
}
NSString*fid;
NSString*fbUserName;
for(friendPickerController.selection中的用户id)
{
NSLog(@“\n用户=%@\n”,用户);
fid=user.id;
fbUserName=user.name;
NSMutableDictionary*参数=[NSMutableDictionary Dictionary WithObjectsAndKeys:@“AAAAA”,“message”,“@”http://webecoist.momtastic.com/wp-content/uploads/2009/01/nature-wonders.jpg“,@”图片“,@”我的SUSFSDSFSFSFP“,@”姓名“,无];
NSLog(@“\nParms=%@\n”,参数);
[FBRequestConnection startWithGraphPath:@“%@/feed”参数:参数HTTPMethod:@“POST”
completionHandler:^(FBRequestConnection*连接,id结果,NSError*错误)
{
//告诉用户它起作用了。
UIAlertView*alertView=[[UIAlertView alloc]initWithTitle:@“共享”
消息:[NSString stringWithFormat:@“已邀请%@!错误=%@”,fbUserName,错误]
代表:无
取消按钮:@“确定”
其他按钮:无];
[警报视图显示];
NSLog(@“%@alertview description”,alertview.message);
}
];
}
}];
}
错误:
> Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be
> completed. (com.facebook.sdk error 5.)" UserInfo=0xa157bf0
> {com.facebook.sdk:HTTPStatusCode=500,
> com.facebook.sdk:ParsedJSONResponseKey={
> body = {
> error = {
> code = 1;
> message = "An unknown error has occurred.";
> type = OAuthException;
> };
> };
> code = 500; }, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x9491490, state: FBSessionStateOpen, loginHandler: 0x946f8d0, appID:
> 511223775602729, urlSchemeSuffix: ,
> tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x948f2b0>,
> expirationDate: 2013-06-15 05:04:17 +0000, refreshDate: 2013-04-16
> 10:36:11 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000,
> permissions:( )>}
>Error Domain=com.facebook.sdk code=5“无法执行该操作
>已完成。(com.facebook.sdk错误5。)“UserInfo=0xa157bf0
>{com.facebook.sdk:HTTPStatusCode=500,
>sdk:ParsedJSONResponseKey={
>正文={
>错误={
>代码=1;
>message=“发生未知错误。”;
>类型=OAutheException;
> };
> };
>code=500;},com.facebook.sdk:ErrorSessionKey=51122375602729,urlSchemeSuffix:,
>令牌缓存策略:,
>到期日期:2013-06-15 05:04:17+0000刷新日期:2013-04-16
>10:36:11+0000,尝试刷新日期:0001-12-30 00:00:00+0000,
>权限:()>}
您可以使用签入或打开图形操作来标记facebook中的好友,对于签入,应用程序将需要权限,但将使用基本的应用程序设置。但是对于打开图形,您必须执行多个设置。您可以查看注意:您的代码中缺少FB用户ID
荣>
按以下方式更改代码:
[FBRequestConnection
startWithGraphPath:[NSString stringWithFormat:@"%@/feed", fid]
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *)
关于,
feed
通常用于用户feed。您需要在%@
上传递参数来告诉facebook您正在哪个用户的墙上发布,这里您需要提供您朋友的用户ID,或者如果您想在墙上发布,它将是me/feed
。因此它应该看起来像/feed
。别担心,我们会为您提供好的,现在你的错误表明FBsession有问题。你能在代码块中发布你的完整错误吗,谢谢!非常好!我会在有空闲时间后检查出来。我有一个关于上述问题的问题..我不能使用FBWebDialog同时向多个朋友发布数据,而不是为每个f单独发布FBWebDialog吗朋友。。