Сломанные (серые) миниатюры в мобильной ленте Facebook? - PullRequest
1 голос
/ 21 сентября 2011

У меня есть приложение для iOS, которое отправляет пользователям фиды FB со ссылкой, описанием и изображением.

Если я проверяю сообщения, сделанные через мое приложение, в полноразмерном браузере, я вижу, что все, включая миниатюру, отображается так, как ожидалось.

thumbnail shows up as expected

Проблема в том, что если я открою ленту FB из мобильного браузера или из приложения FB iOS, я получу серые поля вместо миниатюр.

broken thumbnails

Я пробовал это несколько раз, и каждый раз получаю серый квадрат на страницах мобильных устройств, и все отладочные данные Facebook для ссылки проверяются, насколько я вижу.

Facebook debug data for the link

Ниже приведен код target-c, который отправляет канал в FB.

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];

Это тестовый URL: http://maruta.wanderwith.us/viewPhoto/index/My0zNA (он может исчезнуть, потому что он находится на сервере разработки, и я регулярно очищаю данные, изо всех сил стараюсь сохранить их живыми, пока это не будет решено)

Я что-то упустил?

1 Ответ

2 голосов
/ 09 ноября 2011

Я столкнулся с той же ситуацией.Оказывается, это был вопросительный знак в вашем URL.Facebook передает ваш URL изображения через свой собственный прокси.Если ваш URL содержит «?», Значит, он не работает через мобильный канал.

Ваш сервер ожидает URL в этом формате: http://hostname/mobile/photo.php?p=1234567889. Если вы измените этот формат на: http://hostname/mobile/photo/1234567889,, тогда Facebook будет счастлив.попробуйте переписать мод, если вы используете apache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...