私は週末からこれにいて、行き詰まりに陥っています。私はプログラミングにかなり慣れていないので、「同様の質問」の下のすべてのリンクを読んだので、頭がおかしいのではないかと疑っていますが、それは当てはまらないか、もっと混乱します。
私は Twitter4j API を使用しており、コードサンプル番号から作業しました。OAuth サポートに関する twitter4j Web サイト ( http://twitter4j.org/en/code-examples.html ) の 7 。
スキル構築プロジェクトとして、セレブのパブリック アカウントからタイムラインをダウンロードする Android セレブ ファン アプリを作成したいと考えています。目標は、すべてのツイートのタイムライン ダウンロードを実行することです。ユーザーがこのアプリで Twitter にログインしたり、ツイートを投稿したりしたくありません。アプリはバックグラウンドでタイムラインをダウンロードし、おそらくリスト ビューでツイートを表示します。
私のコードは次の行を実行していません。何かが起こるのを待っているだけのようです。RequestToken requestToken = twitter.getOAuthRequestToken();
マニフェストにインターネット アクセス許可があります。この時点で、私は非常に混乱しており、アプリを正しく登録したかどうかさえわかりません。4 つのキー (コンシューマー、コンシューマー シークレット、アクセス、およびアクセス シークレット) があります。
設定
- ウェブサイト: 何かを作った
-アプリケーションの種類: 読み取り専用
-コールバック URL: 空白のままにします
-「Twitter でサインイン」にオプトインしていません。
OAuth ツール
-リクエストタイプ: GET
- リクエスト URI: https://api.twitter.com/1/ (間違っている可能性があります)
これは私のコードです:
public class TwitterActivity extends Activity
{
Button mButtonTweets;
String JSONString = null;
TextView JSONContent;
class GetTwitterTimeline extends AsyncTask<Void, String, String>
{
@Override
protected String doInBackground(Void... params)
{
try
{
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("")
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
try
{
RequestToken requestToken = twitter.getOAuthRequestToken();
AccessToken accessToken = null;
while (accessToken == null)
{
onProgressUpdate(requestToken.getAuthenticationURL());
try
{
accessToken = twitter.getOAuthAccessToken();
}//try
catch(TwitterException te)
{
if (te.getStatusCode() == 401)
{
onProgressUpdate("Unable to get the access token");
}//if
else
{
te.printStackTrace();
}//else
}//catch
}//while
onProgressUpdate("Got Access Token");
onProgressUpdate("Access Token: " + accessToken.getToken());
onProgressUpdate("Access Token Secret: " + accessToken.getTokenSecret());
}//try
catch (IllegalStateException ie)
{
if(!twitter.getAuthorization().isEnabled())
{
onProgressUpdate("OAuth consumer key/secret is not set.");
}//if
}//catch
}//try
catch (TwitterException te)
{
te.printStackTrace();
onProgressUpdate("Failed to get timeline");
}//catch
String JSONString = "JSON content will go here";
return JSONString;
}//doInBackground
protected void onProgressUpdate(String logEntry)
{
Log.d("twitter4j", logEntry);
}
@Override
protected void onPostExecute(String jsonString)
{
JSONString = jsonString;
}
}//end inner class
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_twitter);
new GetTwitterTimeline().execute();
JSONContent = (TextView) findViewById(R.id.textview_tweets);
mButtonTweets = (Button) findViewById(R.id.button_tweets);
mButtonTweets.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
JSONContent.setText(JSONString);
}
});
}
}