안드로이드 개발 질문/답변
(글 수 45,052)
트위터 인증하려고 합니다.
일단은 간단하게 아래 같이 했는데
예상대로라면 twitter페이지로 이동해서 아이디 패스워드 넣는란이 나와서 넣으면 pin이 나와야하는데
컴파일 잘되고 실행도 잘되구요...
그런데 rqToken = twitter.getOAuthRequestToken(); 여기에서 멈춰서 그 이후로는 아무것도 안합니다.
답변좀 부탁드릴께요...ㅠㅠ
아래느 소스들입니다.
<main.xml>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
<AndroidManifest.xml>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="aaa.bbb.cccc"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".Twitter4jActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
</application>
</manifest>
<Twitter4jActivity.java>
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.auth.RequestToken;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Toast;
public class Twitter4jActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Twitter twitter;
RequestToken rqToken;
try
{
twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer("consumer key", "secret key"); (만드렁진걸로 잘 넣었습니다.)
rqToken = twitter.getOAuthRequestToken();
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rqToken.getAuthorizationURL())));
}
catch (TwitterException e)
{
e.printStackTrace();
}
}
}




rqToken.getAuthorizationURL() 이걸 찍어보면 링크가 나오는지 안나오는지 알 것 같은데요?
요즘엔 PIN코드 넣는 방식이 안되더라구요 차라리 콜백 URL 하나 만드시구요
rqToken = twitter.getOAuthRequestToken(콜백URL);
그리고 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rqToken.getAuthorizationURL()))); 이렇게 하시면
로그인 후에 콜백URL로 리턴 시켜줄꺼예요. 매니페스트에 <data android:scheme="xxxx" android:host="yyyy" />
넣으시고 액티비티에 onNewIntent 오버라이드 하시면 로그인 후에 콜백URL 받아서 onNewIntent로 넘어올거예요-