3

twitter4jAndroidで画像とテキストを含むツイートを投稿していました。私のテキストは 140 未満に切り捨てられました。しかし、サーバーが 140 文字を超える例外を返すのはなぜだろうか。
これが私の試みです:

 message = trimTweet(message); // guaranteed max length is less than 140
 StatusUpdate status = new StatusUpdate(message);

    if(bitmapUri != null){
    status.setMedia(new File(getRealPathFromURI(getApplicationContext(), bitmapUri)));
    }

  twitter.updateStatus(status);

サーバーの応答:

  10-23 19:18:00.842: E//NewsActivity.java:280(25288):  
  TwitterException{exceptionCode=[b2b52c28-11aaaacd], statusCode=403, 
  message=Status is over 140 characters., code=186, retryAfter=-1, 
  rateLimitStatus=null, version=3.0.4}
  10-23 19:18:00.842: E//NewsDetailActivity.java:280(25288):    at  twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:162)
 10-23 19:18:00.842: E//NewsDetailActivity.java:280(25288):     at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
 10-23 19:18:00.842: E//NewsDetailActivity.java:280(25288):     at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:98)

デバッグから、ツイート メッセージが 140 文字未満 (138 または 139 の場合もあります) であることがわかります。しかし、108 文字または 110 文字だけを送信しようとすると、成功しました。twitter4j次に、ツイートのテキストに画像を追加するのだろうか。そうですか?
140 文字しかない画像とテキストを送信するにはどうすればよいですか?

4

2 に答える 2

18

最後に、私は自分の問題を理解しました。URL や画像を追加するときは、Twitter文字数を 118 文字までに制限してください。それはばかげていると思います。このリンクから: http://mediacause.org/10-nonprofit-twitter-tips-140-characters/

私たちは皆、140 文字という制限につまずくことがあります (入力を開始するまでは、かなりの数に思えます)。リンクや写真を追加すると、付随するテキストの文字数が 118 文字に減ります。ツイートを作成するときは、この点に注意して、要点をすぐに説明するテキストを含めてください。

更新: @Aggressor のおかげで、Twitter の更新された制限リンクは、t.co がラップされる URL に依存するようになりました。
https は 23 文字 (21 文字だった) を奪うので、テキストには 117 文字しかありません。
https 以外の URL の場合、118 文字です (ラップされた URL は 22 文字です)。

https :
ここに画像の説明を入力

Http :
ここに画像の説明を入力

于 2013-10-26T06:37:51.557 に答える
0

Twitter のドキュメントから、ツイートはまだ 140 文字に制限されていますが、文字カウント モデルは時間の経過とともに進化していることがわかりました。ツイートは UTF-8 文字列コンテンツであり、UTF-8 文字はすべて 1 文字としてカウントされます。「 http://twitter.com」、「twitter.com」、「twitter.com/twitterapi」など、リンクとして認識される文字列は、自動的に t.co に変換されます。t.co リンクはバリアント文字数を表します (現在、HTTP ベースのリンクは「22」、HTTPS ベースのリンクは「23」)。t.co が文字カウントでどのように役割を果たすかについての詳細は、Twitter が t.co で URL をラップする方法を参照してください。文字数の数え方では、文字数の数え方について詳しく説明しています。

GET help/configurationを使用して、t.co のラッピング長をプログラムで追跡します。フィールド「short_url_length」と「short_url_length_https」は、現在の長さを示します。

于 2013-10-23T09:26:15.503 に答える