Опубликовать изображение на Facebook с Android, ссылка не работает, потому что Facebook добавляет? Ref=nf на URL
Я очень расстроился, пытаясь опубликовать изображение Google-диаграммы в фейсбуке me/feed.
Изображение корзины динамически создается с помощью потенциально очень длинного URL. Я могу установить этот URL-адрес в ключе "picture" в комплекте, но если я пытаюсь поместить его в ключ "link", я получаю сообщение об ошибке, что он слишком длинный.
Если я передаю только "картинку", миниатюра в ленте всегда пуста. Я попытался решить эту проблему, преобразовав URL-адрес в tinyurl, за исключением того, что facebook всегда добавляет? Ref=nf в конец tinyurl и разбивает его (ошибка 404, когда вы нажимаете на нее, однако изображение отображается на миниатюре). Я нашел эту тему с другими пользователями, имеющими эту проблему:
http://forum.developers.facebook.net/viewtopic.php?id=40469
Вот мой код:
private void updateFacebookStatusImage()
{
String accessToken = FBSessionStore.getToken(this);
Bundle bundle = new Bundle();
bundle.putString("caption", this.fbUserComment);
bundle.putString("description", this.fbMessage);
try
{
String tiny = BetBudHttpRequestor.getTinyUrl(this.fbImageURL);
Log.d("IMAGE", tiny);
bundle.putString("picture", tiny);
bundle.putString("link", tiny);
}
catch (ClientProtocolException e)
{
}
catch (IOException e)
{
}
bundle.putString(Facebook.TOKEN, accessToken);
fbAsyncRunner.request("me/feed", bundle, "POST", new UpdateWallListener(), null);
this.fbMessage = null;
this.fbUserComment = null;
this.fbImageURL = null;
}
Вот пример URL диаграммы Google:
http://chart.apis.google.com/chart?chf=bg,s,000000&chxt=x,y&chs=480x340&cht=lxy&chco=696969,E8EEF7&chls=3|3&chxl=0:|03:01+1ST|09:22 + 2 - Й | 04: 25 + 2 - Й | 08: 55 + 3RD | 01: 24 + 3RD | 09: 28 + 4 - http://chart.apis.google.com/chart?chf=bg,s,000000&chxt=x,y&chs=480x340&cht=lxy&chco=696969,E8EEF7&chls=3|3&chxl=0:|03:01+1ST|09:22+2ND|04:25+2ND|08:55+3RD|01:24+3RD|09:28+4TH|03:35+4TH|FINAL&chd=t:70|0,0,8,8,13,13,13,13,15,15,17,17,17,17,17,17,23,23,23,23,23,23,23,23,25,25,27,27,29,29,34,34,36,36,40,40,45,45,46,46,49,49,51,51,51,51,56,56,58,58,58,58,62,62,62,62,65,65,69,69,73,73,77,77,78,78,87,87,90,90|70|2,2,6,6,8,8,10,10,14,14,18,18,20,20,21,21,24,24,26,26,31,31,33,33,33,33,37,37,37,37,42,42,42,42,46,46,50,50,52,52,57,57,59,59,65,65,69,69,72,72,74,74,76,76,78,78,80,80,84,84,86,86,92,92,97,97,103,103,105,105&chdlp=b&chdl=Memphis|Oklahoma+City&chxr=1,0,105&chds=0,71,0,105,0,71,0,105&chm=B,4169e1,0,0:4,0|B,00FF00,0,4:6,0|B,4169e1,0,6:20,0|B,ffa500,0,20:32,0|B,4169e1,0,32:40,0|B,ffa500,0,40:64,0|B,FF0000,0,64:66,0|B,ffa500,0,66:68,0|B,FF0000,0,68:69,0 - Сити + & chxr = 1,0,105 & = 0,71,0,105,0,71,0,105 ВПС и CHM = B, 4169e1,0,0: 4, 0 | B, 00FF00,0,4: 6,0 | B, 4169e1,0,6: 20,0 | B, ffa500,0,20: 32,0 | B, 4169e1,0,32: 40,0 | B, ffa500,0,40: 64,0 | B, FF0000,0,64: 66,0 | B, ffa500,0,66: 68,0 | B, FF0000,0,68: 69,0
... и крошка
http://tinyurl.com/3jnhp3k
Я хотел бы избежать загрузки сгенерированного графика на flikr, если смогу, но я думаю, что это может быть моей единственной надеждой. Надеюсь, у некоторых из вас есть блестящие мысли?
Подведем итог:
Если я отправлю полный URL только на ключ изображения:
Когда вы нажимаете на миниатюру, изображение загружается, однако миниатюра пуста.
Если я опубликую tinyurl к картинке или картинке и ссылке:
Миниатюра имеет изображение, но ссылка не работает из-за? Ref=nf.
Спасибо Стив
1 ответ
Используйте другой сервис сокращения URL, такой как bit.ly. Я сомневаюсь, что Facebook прекратит добавлять источник ссылок на ссылки, поэтому сервисы и сайты должны иметь возможность правильно обрабатывать параметры строки запроса. Во всяком случае, вы можете зарегистрировать ошибку с tinyurl. Вот ссылка на bit.ly, которую я сгенерировал для вас, и она работает: