안드로이드 개발 질문/답변
(글 수 45,052)
현재 개발중인 게임에 twitter4j를 이용한 간단한 twitter 포스팅 기능을 추가하려 합니다.
(게임 화면상의 트위터 버튼을 누르면 트위터에 자동으로 게임 점수를 포스팅 하는 방식)
펍에서 twitter4j를 이용한 OAuth 인증 관련 글이 있어서
소스를 참조하여 작성중인데요 몇가지 궁금한점이 있습니다.
1. 게임 app이기 때문에 따로 web 브라우징 방식을 사용한다거나 하진 않는데요
트위터 개발 사이트에서 app 등록할때 클라이언트 방식과 웹 브라우저 방식중
어떤걸 선택해야 하는지요?
(대부분의 예제를 보니 웹 브라우징 방식을 사용하고 있더군요)
2. 1번 질문에서 아무거나 사용해도 상관 없다면 클라이언트 방식과 웹 브라우저 방식의 차이는
PIN코드를 사용자가 입력하는지의 유무 차이뿐인건가요?
3. 대부분의 예제 코드들이 콜백URL을 잡아줘야 한다고 나와있던데요
제 app 같이 웹방식이 아닌 게임은 콜백 URL을 어떻게 해줘야 하나요?
(예제 코드엔 public static Uri CALLBACK_URL = Uri.parse("wefu://twitter"); 이런식으로 나와있더군요)
4. 게임에서 버튼을 눌러 OAuth 인증 화면이 뜨는 것 까지는 예제들을 보면서 만들어 봤는데 OAuth 인증 획득 후
(Allow버튼 선택) 인증 화면에서 다시 게임으로 돌아오려면 그냥 back버튼을 눌러서
돌아오게 하는게 맞는건가요;;
(Allow버튼 선택 후 다음 화면에서 그냥 냅두면 app이 다시 시작되더군요-onCreate재실행-. 다시 시작되면 안되고
트윗 버튼을 누른 화면으로 다시 돌아가야 하는데;; 난감합니다)
두서 없는 질문 죄송합니다.
구글링과 여기저기 웹을 뒤져봐도 제가 무지해서 그런건지 위의 질문에 대한 해답을 찾을수가 없네요 ㅠㅠ
(게임 화면상의 트위터 버튼을 누르면 트위터에 자동으로 게임 점수를 포스팅 하는 방식)
펍에서 twitter4j를 이용한 OAuth 인증 관련 글이 있어서
소스를 참조하여 작성중인데요 몇가지 궁금한점이 있습니다.
1. 게임 app이기 때문에 따로 web 브라우징 방식을 사용한다거나 하진 않는데요
트위터 개발 사이트에서 app 등록할때 클라이언트 방식과 웹 브라우저 방식중
어떤걸 선택해야 하는지요?
(대부분의 예제를 보니 웹 브라우징 방식을 사용하고 있더군요)
2. 1번 질문에서 아무거나 사용해도 상관 없다면 클라이언트 방식과 웹 브라우저 방식의 차이는
PIN코드를 사용자가 입력하는지의 유무 차이뿐인건가요?
3. 대부분의 예제 코드들이 콜백URL을 잡아줘야 한다고 나와있던데요
제 app 같이 웹방식이 아닌 게임은 콜백 URL을 어떻게 해줘야 하나요?
(예제 코드엔 public static Uri CALLBACK_URL = Uri.parse("wefu://twitter"); 이런식으로 나와있더군요)
4. 게임에서 버튼을 눌러 OAuth 인증 화면이 뜨는 것 까지는 예제들을 보면서 만들어 봤는데 OAuth 인증 획득 후
(Allow버튼 선택) 인증 화면에서 다시 게임으로 돌아오려면 그냥 back버튼을 눌러서
돌아오게 하는게 맞는건가요;;
(Allow버튼 선택 후 다음 화면에서 그냥 냅두면 app이 다시 시작되더군요-onCreate재실행-. 다시 시작되면 안되고
트윗 버튼을 누른 화면으로 다시 돌아가야 하는데;; 난감합니다)
두서 없는 질문 죄송합니다.
구글링과 여기저기 웹을 뒤져봐도 제가 무지해서 그런건지 위의 질문에 대한 해답을 찾을수가 없네요 ㅠㅠ
2011.01.12 14:49:18
1. 웹브라우저방식을 추천드립니다.
2. 네
3. 임의로 하시면 되고 임의로 정하신 주소에 ?oauth_verifier=값 이런식의 주소가 날라옵니다. 거기서 저기의 값을 읽어서
사용하시면 됩니다.
4. 인증하신후 다시 인텐트를 하시면 될텐데 그부분은 보통 보시던 예제에서 onNewIntent안의
acToken = twitter.getOAuthAccessToken(rqToken, oauth_verifier); 이후에 넣어주시면 될겁니다.
또는 onBackPress 하셔도 됩니다.
단, 글을 쓰는 twitter.updateStatus를 윗코드 바로뒤에 붙이면 글이 제대로 등록이 안되더라구요 그래서
저는 다이얼로그 하나띄워주고 twitter.updateStatus를햇더니 잘됩니다. 이유는 잘모르겟군요;;
저는 웹뷰에서 로그인인증을해서 onNewIntent를 쓰지않앗는데 setWebViewClient 함수로 new WebViewClient하신 다음에
onPageStarted를 오버라이드해서 해결햇습니다.



