1


グーグルチャートの画像をフェイスブックのme/feedに投稿しようとすると非常にイライラしました。
カートの画像は、非常に長い可能性のあるURLによって動的に作成されます。そのURLをバンドルの「picture」キーに設定することはできますが、「link」キーに配置しようとすると、長すぎるというエラーが表示されます。
「画像」のみを渡すと、フィードのサムネイルは常に空白になります。私はURLをtinyurlに変換することでこの問題を解決しようとしましたが、Facebookは常にtinyurlの末尾に?ref = nfを追加して壊します(クリックすると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です:
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=nfのためにリンクが壊れています。

ありがとう、スティーブ

4

1 に答える 1

2

bit.lyのような別のURL短縮サービスを使用してください。Facebookが参照ソースのリンクへの追加を停止するのではないかと思うので、サービスとWebサイトはクエリ文字列パラメーターを適切に処理できる必要があります。どちらかといえば、tinyurlでバグを記録することができます。これが私があなたのために生成したbit.lyリンクであり、それは機能します:

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

于 2011-05-31T18:22:38.027 に答える