2

OAuth를 사용하여 Twitter에서 승인하고 트윗을 전송하는 활동을 만들고 있습니다. (편집 : Twitter4j를 사용하고 있습니다.) 이렇게하려면 Twitter에서 RequestToken을 먼저 요청한 다음 사용자가 브라우저를 방문하여 앱을 승인해야하며 intent.getData()에 권한 문자열이있는 onNewIntent()로 다시 전송됩니다. RequestToken과 문자열을 사용하여 유효한 AccessToken을 만듭니다.활동 수명주기를 통해 Twitter OAuth 세션 상태를 유지하는 방법

사용자가 브라우저를 시작하는 동안 내 Activity가 포커스를 잃고 있기 때문에 onNewIntent()로 돌아 가면 세션 상태를 사용할 수 있다는 보장이 없으므로 더 이상 사용할 수 없습니다. AccessToken을 만들 수있는 RequestToken이 있어야합니다. 이상적인 세계에서 RequestToken을 SharedPreferences에 저장하고 필요할 때 나중에 가져옵니다. 그러나 그것을 조사한 후에는 RequestToken 객체를 재구성/재구성 할 방법이 없기 때문에이 작업을 수행하는 것은 매우 사소한 일입니다. (AFAIK, 그렇지 않으면 훨씬 더 선호하기 때문에 나를 수정하십시오).

그래서 저는 onSaveInstanceState()와 onRestoreInstanceState()를 구현하려고 합니다만, 나는 읽은 문서를 이해하지 못하고 있습니다. 이 경우, 내 RequestToken 객체 (그리고 가급적이면 내 주)가 onNewIntent()에 도착할 때 사용할 수 있도록하려면 어떻게해야합니까?

감사합니다, == 매트

답변

1

그것은 내가 그것을하지 않고 AccessToken을 구축 할 수 있기 때문에 내가의 RequestToken을 지속 할 필요가 없습니다 밝혀졌습니다. AccessToken은 A) RequestToken + oauth_verifier 또는 B) access_token + access_token_secret 문자열을 사용하여 빌드 할 수 있습니다.

그래서 RequestToken을 사용하여 oauth_verifier를 가져 와서 AccessToken을 만든 다음 AccessToken에서 access_token 및 access_token 문자열을 가져 와서 저장합니다. 나중에 저장된 access_token 및 access_token_secret 문자열을 사용하여 AccessToken을 다시 작성할 수 있습니다.

+0

잠깐, 원래 질문에 답변 했습니까? 검증자를 되 찾을 때 RequestToken이 필요할 것 같습니다. 당신이 준 대답은 * 당신이 검증자를 얻은 후에 * 저장해야하는 것에 대한 지시처럼 보인다. 그리고 RequestToken을 잡고있다. (여하튼). – larham1