objective-c - Facebook 移动 Feed 中的损坏(灰色)缩略图?

标签 objective-c ios facebook-graph-api facebook

我有一个 iOS 应用程序,可以向用户发布带有链接、描述和图像的 FB 源。

如果我在全尺寸浏览器中检查通过我的应用发布的帖子,我可以看到所有内容(包括缩略图)都按预期显示。

thumbnail shows up as expected

问题是,如果我从移动浏览器或 FB iOS 应用程序打开 FB 提要,我会看到灰色框而不是缩略图。

broken thumbnails

我已经尝试了多次,每次我都会在移动页面中看到灰色框,并且在我能看到的范围内检查链接的所有 Facebook 调试数据。

Facebook debug data for the link

以下是将 Feed 发布到 FB 的 objective-c 代码。

NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setObject:self.captionTextView.text forKey:@"message"];

[params setObject:[NSString stringWithFormat:@"%@'s photo on Wander", [appDelegate.prefs valueForKey:@"firstName"]] forKey:@"name"];
[params setObject:shortUrl forKey:@"link"];

NSString *imageURL = [NSString stringWithFormat:@"http://%@/mobile/photo.php?p=%@", appDelegate.apiHost, photoParams];

[params setObject:imageURL forKey:@"picture"];

[params setObject:[NSString stringWithFormat:@"%@, %@", [appDelegate.prefs valueForKey:@"cityName"], [appDelegate.prefs valueForKey:@"countryName"]] forKey:@"caption"];

[params setObject:[NSString stringWithFormat:@"I'm using Wander to explore %@ with %@ as a local guide!", [matchData valueForKey:@"cityName"], [matchData valueForKey:@"firstName"]] forKey:@"description"];

[appDelegate.facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/feed", fbId] andParams:params andHttpMethod:@"POST" andDelegate:self];
[params release];

这是测试网址:http://maruta.wanderwith.us/viewPhoto/index/My0zNA (这可能会消失,因为它在开发服务器上,我会定期清除数据,我会尽力保持它的存在,直到它得到解决)

我错过了什么吗?

最佳答案

我遇到了同样的情况。原来这是您网址中的问号。 Facebook 通过他们自己的代理传递您的图像 URL。如果您的 URL 包含“?”,则它无法通过移动 Feed 以某种方式工作。

您的服务器需要这种格式的 url: http://hostname/mobile/photo.php?p=1234567889 。如果您将其更改为以下格式: http://hostname/mobile/photo/1234567889 ,那么 Facebook 会很高兴。如果您使用的是 apache,请尝试 mod rewrite。

关于objective-c - Facebook 移动 Feed 中的损坏(灰色)缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498237/

相关文章:

ios - 在类中定义 block 以在其他地方使用

ios - OpenGL 层在 presentRenderBuffer 上变黑

ios - 关闭一个 View 并从 applicationDidEnterBackground 中呈现一个新 View

ios - 如何从开源 Xcode 项目中排除 key ?

facebook - 从 Facebook 时间线帖子获取视频对象(或视频 ID)

node.js - Node 模块 fbgraph : will this deal well with lots of users?

ios - 如何在UITableView上更改Pull的文本颜色以刷新?

iOS - 延迟向 UITableView 添加行的最佳方法?

facebook-graph-api - 使用 Facebook Graph API 搜索准确的字符串

ios - 从 Swift 应用程序中的 native 应用程序访问最近通话列表