FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

xAuth認証を使ってのTwitter連携

準備
 Twitter4J(TwitterAPIのJavaラッパ)
 twitter4jダウンロードサイトから最新安定ビルドtwitter4j-2.1.4-SNAPSHOT.zipをダウンロード
 eclipseでプロジェクトファイル直下にlibフォルダを作成し、ここに解凍したtwitter4jフォルダ内の
 twitter4j-core-2.1.4-SNAPSHOT.jarをコピーする。
 [プロジェクト]→右クリック[プロパティ]→左メニュー[javaのビルドパス]→[jarの追加]→コピーしたjarファイル
 を選択しOK。


ソース説明
 Twitterのユーザ名とパスワードを入力しボタンを押すと、xAuth認証を実行し、自動で定型文を投稿する。
 twittertest.java(メインアクティビティ)
 main.xml(メインのレイアウト)

 image



twittertest.java

public class twittertest extends Activity {
  private Button button;
  private EditText edittext1,edittext2;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    button = (Button) this.findViewById(R.id.button);
    edittext1 = (EditText)findViewById(R.id.EditText01);
    edittext2 = (EditText)findViewById(R.id.EditText02);

    button.setOnClickListener(new MyClickAdapter());
  }

  private class MyClickAdapter implements OnClickListener {
    private static final String consumerKey = "**********"; ←各自の
    private static final String consumerSecret = "********************"; ←各自の
    public void onClick(View v) {
      String value = edittext1.getText().toString();
      String value2= edittext2.getText().toString();

      ConfigurationBuilder confbuilder =new ConfigurationBuilder();
      confbuilder.setOAuthConsumerKey(consumerKey);
      confbuilder.setOAuthConsumerSecret(consumerSecret);

      TwitterFactory twitterfactory = new TwitterFactory(confbuilder.build());
      Twitter twitter = twitterfactory.getInstance(value,value2);

      try{
        twitter.getOAuthAccessToken();
        twitter.updateStatus("xAuth連携テスト");
        AccessToken token = twitter.getOAuthAccessToken();
      }catch (TwitterException e){
        e.printStackTrace();
      }
    }
  }
}



main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="twitterユーザ名"
/>
<EditText
android:id="@+id/EditText01"
android:layout_width="230dip"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="twitterパスワード"
/>
<EditText
android:id="@+id/EditText02"
android:layout_width="230dip"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:text="クリック"
/>
</LinearLayout>



AndroidManifest.xml

       |
    </application>
  <uses-sdk android:minSdkVersion="4" />
  <uses-permission android:name="android.permission.INTERNET" /> ←コレを追加
</manifest>


AndroidManifest.xmlに↑を記述していなかったためにエラーで下記のログが出力されました。
"java.net.SocketException: Permission denied (maybe missing INTERNET permission)"
アプリがインターネットを利用する場合はこの記述が必要ですのでお気をつけ下さい。(広告利用時等も)




スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

freedomgen

Author:freedomgen
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。