1

2つの共有方法を実装しました。フェイスブックとツイッターで。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu);
    adapter = new SocialAuthAdapter(new ResponseListener());
}

public void twitter(View view) {
    adapter.authorize(this, SocialAuthAdapter.Provider.TWITTER);
}

public void facebook(View view) {
    adapter.authorize(this, SocialAuthAdapter.Provider.FACEBOOK);
}

private final class ResponseListener implements DialogListener {
    public void onComplete(Bundle values) {
        adapter.updateStatus("status");
        Log.e("a", "success");
    }

    public void onError(SocialAuthError error) {
        Log.e("a", "error");
    }

    public void onCancel() {
        Log.e("a", "cancel");
    }
}

初めて共有ボタンをクリックすると、ログに「成功」​​が表示され、ステータスが投稿されます。しかし、2回目にクリックすると、その後に「成功」​​と「エラー」が表示され、ステータスが投稿されません。

そして例外は

    02-12 01:16:40.158: WARN/System.err(12526): org.brickred.socialauth.exception.SocialAuthException: org.brickred.socialauth.exception.SocialAuthException: Status not updated. Return Status code :400
02-12 01:16:40.158: WARN/System.err(12526): at org.brickred.socialauth.provider.FacebookImpl.updateStatus(FacebookImpl.java:276)
02-12 01:16:40.158: WARN/System.err(12526): at org.brickred.socialauth.android.SocialAuthAdapter$4.run(SocialAuthAdapter.java:414)
02-12 01:16:40.158: WARN/System.err(12526): at java.lang.Thread.run(Thread.java:856)
02-12 01:16:40.158: WARN/System.err(12526): Caused by: org.brickred.socialauth.exception.SocialAuthException: Status not updated. Return Status code :400
02-12 01:16:40.158: WARN/System.err(12526): at org.brickred.socialauth.provider.FacebookImpl.updateStatus(FacebookImpl.java:271)
02-12 01:16:40.158: WARN/System.err(12526): ... 2 more
4

2 に答える 2

1

同じメッセージを 2 回投稿しようとしています。Facebook と twitter はこれをスパムと見なし、これを許可しません。別のメッセージを投稿すると成功します。

于 2013-02-12T05:20:43.740 に答える
0

私は同じ問題を抱えていて、自分で解決しました。

TwitterImpl.java で次のコードを見つけてコメント/削除する必要があるだけです -> updateStatus 関数 (279 行目)

if (serviceResponse.getStatus() != 200) {
    throw new SocialAuthException("Failed to update status on " + url + ". Status :" + serviceResponse.getStatus());
 }

参照番号: https://github.com/3pillarlabs/socialauth-android/issues/24

于 2014-07-16T10:13:13.250 に答える