트위터를 연동하여 글올리기에 도전하고 있습니다.
여러 사이트와 댓글들을 참조하면서 구현을 아래와 같이 했습니다.
--MyTwetterApp--
private Button btn;
//twitter
public static String consumerKey = "h-----w";
public static String consumerSecret = "x------------------g";
public static Uri CALLBACK_URL = Uri.parse("wefu://twitter");
private Twitter twitter;
private AccessToken acToken;
private RequestToken rqToken;
private Status status = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
btn.setOnClickListener(this);
}
private void init() {
btn = (Button) findViewById(R.id.Button01);
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch(view.getId()){
case R.id.Button01 :
OnNewsTwitter();
break;
}
}
private void OnNewsTwitter() {
// TODO Auto-generated method stub
twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(consumerKey, consumerSecret);
try {
rqToken = twitter.getOAuthRequestToken(CALLBACK_URL.toString());
Log.i("test", "rqToken=" + rqToken+"");
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rqToken.getAuthorizationURL())));
}
@Override
protected void onNewIntent(Intent intent){
Log.i("test", "ok");
super.onNewIntent(intent);
Uri uri = intent.getData();
if(uri != null && CALLBACK_URL.getScheme().equals(uri.getScheme())){
String oauth_verifier = uri.getQueryParameter("oauth_verifier");
try {
acToken = twitter.getOAuthAccessToken(rqToken, oauth_verifier);
status = twitter.updateStatus("first write...");
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------
어플리케이션 등록은 브라우저 방식으로 했구요,
위의 Log.i("test", "rqToken=" + rqToken+"");
rqToken의 로그를 찍어본 결과 아래와 같이 출력되었습니다.
02-22 13:11:03.479: INFO/test(16612): rqToken=OAuthToken{token='d----------------------U', tokenSecret='Z----------------I', secretKeySpec=null}
정상적으로 글이 올라가지 않아 로그를 찍어 보았는데 아래의 로그가 출력되지 않는 것으로 보아 오버라이드 한 onNewIntent함수 쪽으로 진입이 안되는 것 같습니다.
Log.i("test", "ok");
어떤식으로 해결해야 하나요..부탁드립니다..ㅜㅜ
꼬룡님 답변 감사드립니다.^^
위에 알려주신 url을 보고 코딩을 하였습니다.
매니메스트에도
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="wefu" android:host="twitter" />
</intent-filter>
위와 같이 작성을 하였고 권한 설정도
<uses-permission android:name = "android.permission.INTERNET" />
주었습니다. 해당 어플로 콜백되어 돌아오는데 글리 올라가지 않습니다..
지금도 계속 고민 하고 있는데 뭐를 잘못하고 있는 걸까요..ㅜㅜ



