Опубликовать изображение на Facebook с Android, ссылка не работает, потому что Facebook добавляет? Ref = nf на URL - PullRequest
1 голос
/ 31 мая 2011


Я очень расстроился, пытаясь опубликовать изображение Google-диаграммы в Facebook 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+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
... и tinyurl:
http://tinyurl.com/3jnhp3k

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

Напомним:
Если я отправлю полный URL только на ключ изображения:
Когда вы нажимаете на миниатюру,однако изображение загружается, миниатюра пуста.

Если я добавлю tinyurl к изображению или к изображению и ссылке:
Миниатюра содержит изображение, но ссылка не работает из-за? ref =Н.Ф..

Спасибо, Стив

1 Ответ

2 голосов
/ 31 мая 2011

Используйте другой сервис сокращения URL, например, bit.ly.Я сомневаюсь, что Facebook прекратит добавлять источник ссылок к ссылкам, поэтому сервисы и сайты должны иметь возможность правильно обрабатывать параметры строки запроса.Во всяком случае, вы можете зарегистрировать ошибку с tinyurl.Вот ссылка на bit.ly, которую я сгенерировал для вас, и она работает:

http://bit.ly/lj79is?ref=nf

...