Android でのツイートについて

248 views
Skip to first unread message

HAYASHI TAKETOSHI

unread,
Apr 8, 2016, 7:03:52 PM4/8/16
to Twitter4J J
Cocos2d-xとAndroidのネイティブをJniで連携して使っています。
ゲームのハイスコア更新時にハイスコアの情報をいれた定型文をツイートしたいと思っています。

テストで簡単な定型文をツイートしようと思って実行させているのですが、うまく行きません。

AppActivityに

public static void loginTwitter()
 {
  if (!TwitterUtils.hasAccessToken(myActivity)) {
            Intent intent = new Intent(myActivity, TwitterOAuthActivity.class);
            myActivity.startActivity(intent);
            myActivity.finish();
        }
 }
 public static boolean tweet(String msg)
 {
  try {
            mTwitter = TwitterUtils.getTwitterInstance(myActivity);
            mTwitter.updateStatus(msg);
            return true;
        } catch (TwitterException e) {
            e.printStackTrace();
            return false;
        }
 }

というメソッドを用意してCocos2d-xからloginTwitter()を呼んだあとに、tweetを呼んでいます。
しかし、tweetで、403エラーが発生してしまいます。
04-09 07:30:55.042: W/System.err(13488): 403:The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits (https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following).
04-09 07:30:55.042: W/System.err(13488): message - Status is a duplicate.
04-09 07:30:55.042: W/System.err(13488): code - 187
04-09 07:30:55.042: W/System.err(13488): Relevant discussions can be found on the Internet at:
04-09 07:30:55.042: W/System.err(13488):  http://www.google.co.jp/search?q=2fc5b7cb or
04-09 07:30:55.042: W/System.err(13488):  http://www.google.co.jp/search?q=0ea287d2
04-09 07:30:55.042: W/System.err(13488): TwitterException{exceptionCode=[2fc5b7cb-0ea287d2], statusCode=403, message=Status is a duplicate., code=187, retryAfter=-1, rateLimitStatus=null, version=4.0.4}
04-09 07:30:55.042: W/System.err(13488):  at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:164)
04-09 07:30:55.042: W/System.err(13488):  at twitter4j.HttpClientBase.request(HttpClientBase.java:57)
04-09 07:30:55.042: W/System.err(13488):  at twitter4j.HttpClientBase.post(HttpClientBase.java:86)
04-09 07:30:55.052: W/System.err(13488):  at twitter4j.TwitterImpl.post(TwitterImpl.java:1822)
04-09 07:30:55.052: W/System.err(13488):  at twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:207)
04-09 07:30:55.052: W/System.err(13488):  at org.cocos2dx.cpp.AppActivity.tweet(AppActivity.java:976)
04-09 07:30:55.052: W/System.err(13488):  at org.cocos2dx.lib.Cocos2dxRenderer.nativeRender(Native Method)
04-09 07:30:55.052: W/System.err(13488):  at org.cocos2dx.lib.Cocos2dxRenderer.onDrawFrame(Cocos2dxRenderer.java:91)
04-09 07:30:55.052: W/System.err(13488):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
04-09 07:30:55.052: W/System.err(13488):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

一度、成功してツイートできていたのですが、その後は上記のようなエラーが出る状態です。
何がいけないのか、ご教授頂けないでしょうか。

宜しくお願いします。


TwitterUtils.java
TwitterOAuthActivity.java

Hiroaki TAKEUCHI

unread,
Apr 8, 2016, 8:20:56 PM4/8/16
to twitt...@googlegroups.com

竹内です。

これっすね。

04-09 07:30:55.042: W/System.err(13488): message - Status is a duplicate.

同一の文面を一定期間内に連続してツイートすることは出来ないので少し工夫する必要があります(時刻を入れるとか)。

2016/04/09 8:03 "HAYASHI TAKETOSHI" <htake...@gmail.com>:
--
Twitter4J の最新情報をフォロー: http://twitter.com/t4j_news
現在のバージョン - 安定: 4.0.4, 開発中: 4.0.5-SNAPSHOT
バグトラッキング: http://issue.twitter4j.org/youtrack/issues/TFJ
 
このメールは次の Google グループの参加者に送られています: Twitter4J J
このグループにメールで投稿: twitt...@googlegroups.com
このグループから退会する: http://groups.google.com/group/twitter4j-j?hl=ja
---
このメールは Google グループのグループ「Twitter4J J」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには twitter4j-j...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

HAYASHI TAKETOSHI

unread,
Apr 8, 2016, 8:58:12 PM4/8/16
to Twitter4J J
 早速の回答ありがとうございます。

文面を変えたらツイートできました。
実際にはハイスコアなど変動する値が文面が入るので、今回のような事はならないかと思います。

本当に助かりました。
ありがとうございました。 
Reply all
Reply to author
Forward
0 new messages