【问题标题】:Posting to Facebook wall in iOS在 iOS 中发布到 Facebook 墙
【发布时间】:2012-12-10 10:27:04
【问题描述】:

我正在使用this wrapper 尝试将带有标题的图片发布到用户的墙上:

我已经使用以下代码将其发布到相册,但我不知道如何将其发布到用户的墙上。

UIImage *img = [logo getMyLogoImage];        
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"This is a caption! Do you know this logo?",@"message",img,@"picture",nil];
[[SPFacebookClient_MyApp sharedClient] requestWithParams:params completionHandler:^(BOOL success, id result, NSError *error){}];

我可以看到,使用常规 Facebook sdk,我可以调用它来发布到墙上:

[FBRequestConnection startWithGraphPath:@"me/Photos"
          parameters:params
          HTTPMethod:@"POST"
          completionHandler:^(FBRequestConnection *connection, id result, NSError *error){[self showAlert:@"Photo Post" result:result error:error];}];

我真的很想弄清楚如何使用包装器实现这一点,因为它使管理会话和一般设置变得更加容易和清洁。谁能解释我必须更改或添加什么才能使这项工作?

【问题讨论】:

  • 要发布到用户的墙上,您应该使用字符串 @"https://graph.facebook.com/me/feed" 撰写请求
  • 请说明您设置了哪些权限?
  • Aprit,我已请求“offline_access”和“publish_stream”作为权限。

标签: iphone objective-c ios facebook ipad


【解决方案1】:

请更新您的代码如下并尝试。

UIImage *img = [logo getMyLogoImage];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"This is a caption! Do you know this logo?",@"message",img,@"picture",nil];    
[[SPExampleFacebookClient sharedClient] requestWithName:@"stream.publish" params:params method:@"POST" completionHandler:^(BOOL success, id result, NSError *error){
    NSLog(@"Error - %@", error);
}];

【讨论】:

  • 我在日志中收到错误消息:“无法使用 GET 上传文件”。调试,我可以看到在库中,[Facebook requestWithParams] 总是强制 GET。
  • 感谢您的更新。我试了一下,发现了一个新错误。完成处理程序的结果是一个 HTML 页面,上面写着“抱歉,出了点问题”。难道这个包装器使用的是旧的 SDK 组件?奇怪的是它读起来没问题。
  • 我越看这个,我很确定这个包装器只是使用过时的东西。我会看看我是否可以使用当前版本的 SDK 编写自己的。
猜你喜欢
  • 2011-11-21
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多