我从iPhone应用程序发布到Facebook墙上。当我发送消息时它很有效,但当我尝试添加链接时,消息不会在Facebook上发布。
代码:
NSString *link = @"http://www.foo.com";
NSString *linkName = @"Bar";
NSString *linkCaption = @"Foo Bar";
NSString *linkDescription = @"Fooooooo Bar";
NSString *message = @"Message";
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId, @"api_key",
message, @"message",
linkName, @"name",
linkDescription, @"description",
link, @"link",
linkCaption, @"caption",
nil];
[_facebook requestWithGraphPath: @"me/feed"
andParams: params
andHttpMethod: @"POST"
andDelegate: self];
当我将链接和标题添加到params字典时,FaceBook不会在墙上发布。我甚至没有在(void) request: (FBRequest *) request didFailWithError: (NSError *) error
中收到错误,所以看来Facebook认为请求没问题。
答案 0 :(得分:1)
您可能需要查看ShareKit。它是一个维护良好的开源库,用于连接各种社交Web服务,并保持与ShareKit社区的API兼容性。
答案 1 :(得分:0)
我刚刚在FB中使用附件发布了链接......
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
@"Visit My Site", @"name",
@"http://www.mysite.com", @"href", nil];
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Your Message",@"message",
attachmentStr,@"attachment",nil];
答案 2 :(得分:0)
为了显示FB上的链接,你可以使用actionLinks。
代表
dialog.actionLinks = @"[{\"text\":\"See My App here!\",\"href\":\"http://www.facebook.com/developers/apps.php?app_id=178257532217623&ret=2/\"}]";
这将显示帖子右侧的链接
答案 3 :(得分:0)
我不确定你的问题是什么,因为一切看起来都不错,但这可能有助于你排除故障: http://developers.facebook.com/docs/reference/rest/stream.publish/
尝试通过该页面上的表单发布您的消息,并查看Facebook告诉您的内容。如果出现问题,您将看到错误消息。
要发布链接,您需要使用以下语法添加附件:
{ "href": "http://www.fantasy-fan.org", "name": "test", "caption": "test2", "description": "test3", "media": [{ "type": "image", "src": "http://dragontest.fantasy-fan.org/images/dwarf.jpg", "href": "http://www.fantasy-fan.org" }]}
答案 4 :(得分:0)
如果你正在使用FBConnect
,那么使用这种方法就可以在FB墙上发布所有内容。
- (void)postToWall
{
FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] autorelease];
dialog.userMessagePrompt = @"Enter your message:";
dialog.attachment = [NSString stringWithFormat:@"{\"name\":\"Facebook Connect for iPhone\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone\",\"caption\":\"Caption\",\"description\":\"Description\",\"media\":[{\"type\":\"image\",\"src\":\"http://img40.yfrog.com/img40/5914/iphoneconnectbtn.jpg\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone/\"}],\"properties\":{\"another link\":{\"text\":\"Facebook home page\",\"href\":\"http://www.facebook.com\"}}}"];
[dialog show];
}
答案 5 :(得分:0)
我有同样的问题,但有一个PHP应用程序,并通过获取页面访问令牌解决它。获得用户访问令牌后,请转到:
https://graph.facebook.com/me/accounts?access_token=USER_ACCESS_TOKEN
在返回的数据中找到页面的名称及其对应的访问令牌。使用页面访问令牌可以发布我的链接。
答案 6 :(得分:0)
使用This.This对我来说很好。
NSString *graphPath = @"me/feed";
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
self.link,@"link",
self.url,@"picture",
self.message,@"name",
@"Write_Captioon",@"caption",
self.description,@"description",
/*@"Facebook Dialogs are so easy!",@"message",*/
nil];
[[FBRequestWrapper defaultManager] sendFBRequestWithGraphPath:graphPath params:params andDelegate:self];
检查你的网址,可能是网址不正确。我在Facebook上没有遇到这种问题,但是如果我的网址为“=”,则该帖子未被共享,但是成功与其他网址共享。希望这对您有帮助。