使用iPhone SDK发布带有Facebook Graph API的附件
问题描述:
我一直在拼命地使用Facebook的Graph API发布附件到当前用户的墙上的消息。我已经成功地发布了一个带有图片的POST对象,但是一旦我开始阅读附件,它就无法工作。就好像它不承认那个财产。使用iPhone SDK发布带有Facebook Graph API的附件
这里是我的代码示例:
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
@"ATT NAME", @"name",
@"http://my.web.com", @"href",
@"ATT CAPTION", @"caption",
@"ATT DESC", @"description",
[NSDictionary dictionaryWithObjectsAndKeys:
@"property 1", @"PROP1",
@"property 2", @"PROP2",
nil], @"properties"
nil];
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"post", @"type",
@"MY MESSAGE", @"message",
attachmentStr, @"attachment",
nil];
[_facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self];
这将出版“我的信息”,但没有别的。我真正需要这种附件的原因是因为“属性”元素。
非常感谢!
编辑:我只是想澄清,如果我使用下面的字典为我的PARAMS而不是上面的一个,它工作得很好。我的问题是,我需要使用“附件”对象的“属性”属性进行格式化。这里是字典:
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"post", @"type",
@"http://my.web.com/pic.png", @"picture",
@"http://my.web.com", @"link",
postName, @"name",
postCaption, @"caption",
postDescription, @"description",
postMessage, @"message",
nil];
答
OK,我发现如何与我流后一起送的属性。我通过查看实际的Facebook Wall页面中的html来发现它。事实证明,对于POST对象的参数被认为是附着所以要做的唯一事情是直接添加的“属性”属性设置为POST参数是这样的:
NSDictionary *properties = [NSDictionary dictionaryWithObjectsAndKeys:
@"property 1", @"PROP1",
@"property 2", @"PROP2",
nil];
NSString *propStr = [jsonWriter stringWithObject:properties];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"post", @"type",
@"http://my.web.com/pic.png", @"picture",
@"http://my.web.com", @"link",
postName, @"name",
postCaption, @"caption",
postDescription, @"description",
postMessage, @"message",
propStr, @"properties",
nil];
[_facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self];
瞧!有效!
答
要发布FEED你必须使用 “USERID /饲料”
如: [Facebook的requestWithGraphPath:@ “1231241 /饲料”
andParams:PARAMS
andHttpMethod: @“POST”
andDelegate:self];
关于属性,我不认为他们是任何属性的名称“属性”可用于饲料的API。
检查出在这里:http://developers.facebook.com/docs/reference/api/photo/
嗨艾比,首先感谢您的回复。我实际上已经能够使用“我”发布。我甚至用这里描述的基本参数发布了图像:http://developers.facebook.com/docs/reference/api/post/这个页面引用了我猜测的“可选附件”是这里描述的对象:http ://developers.facebook.com/docs/guides/attachments/在这种情况下,他们确实有一个名为“properties”的属性。 – sunshineDev 2011-04-06 19:15:17
我不知道这是否可能为移动设备。因为这是一个流式附件,通常支持这些网站。如果我没有错,您正在使用FBConnect SDK开发iPhone。 – insomiac 2011-04-06 19:26:02
那么你想上传或附加?什么样的媒体?音乐,闪光灯还是电影? – insomiac 2011-04-06 19:26:28