2

내 문제를 설명하자, 현재 LinqToTwitter를 사용하여 사용자 권한 부여를 수행합니다.액세스 토큰에서 사용자의 Twitter 사용자 아이디를 검색 할 수 있습니까?

"https://api.twitter.com/oauth/authorize?oauth_token=" 

하고 자신의 로그인 정보를 입력 :

내가 그것에 사용자가 클릭, 아약스 요청 권한 부여를 수행 할 수있는 방법을 요청하는 내 웹 사이트에 연결 트위터 버튼을 가지고, 사용자에 리디렉션됩니다 암호. 당신이 일을 끝낼되면

, 그는 내 웹 사이트의 urlReferrer로 리디렉션하고 나는 이름, 사용자 ID와 같은 필요한 필드를받을 ....

그리고 소셜 네트워크 사용자의 사용자 아이디가 일치하지 않는 경우 내 데이터베이스의 항목이있는 경우 전자 메일을 요청하기 위해 팝업을 엽니 다 (전자 메일은 필수 입력란입니다)

그런 다음 전자 메일이 사용자에 의해 확인되면 해당 웹 사이트에서 ajax connectSocialUser (userid, avatar, accessToken)를 요청하십시오.

구글과 페이스 북의 경우

그때 토큰 매개 변수에 대한 액세스를 넣고 한 각각이 두 URL을 요청 :

"https://graph.facebook.com/me?fields=id&access_token=" 
"https://www.googleapis.com/oauth2/v1/userinfo?access_token=" 

이 두 URL은 나에게 사용자 ID를 다시주고 단순 비교에 의해 내가 알 수를 그 사용자 좋은 사람이고 살인자가 아닙니다.

내 질문은 : 액세스 토큰에서 사용자의 사용자 ID를 검색 할 수 있습니까?

어떻게 작동합니까?

정말 고마워요!

답변

1

승인을 완료하면 LINQ to Twitter가 auth.Credentials.UserId 속성을 채 웁니다. 거기에서도 ScreenName을 찾을 수 있습니다.

+0

내 요청을 정확하게 이해하지 못한다고 생각합니다. 사실 저는 먼저 auth.Credentials를 채 웁니다. 그러나 트위터가 그것을 허용하지 않는다는 것을 알기 때문에 사용자의 이메일을 요청해야합니다. 그래서 새 서버 요청을해야하지만 OAuth Token과 Token Verifier가 completeAuthorization을 요청하기 때문에 더 이상 유효하지 않으며 accessToken과 accessTokenSecret도 저장하지 않았습니다. –

+0

나를위한 해결책이며 데이터베이스에 사용자의 액세스 토큰 비밀을 저장하는 것입니다. 액세스 토큰의 비밀이 변경되거나 항상 동일 할 수 있습니까? 그리고 AccessToken? 죄송 합니다만 지금까지는 항상 클라이언트 측의 다른 소셜 네트워크에 대한 API 호출에이 시점에서 accessToken이 자주 변경됩니다. –

+0

@DavidSautet Twitter OAuthToken/AccessToken은 변경되지 않습니다. 따라서 UserID로 저장하고 4 개의 토큰을 모두 인증 자 자격 증명에 추가하여 후속 요청에 다시 사용할 수 있습니다. –

2

찾고 계시는 분은 GET account/verify_credentials입니다.

현재 액세스 토큰에 대한 "id"(user_id)가 표시됩니다.

+0

이 끝점에 대한 대안이 있습니까? 이 엔드 포인트에 대한 GET 호출이 다른 유사한 호출보다 500 배 느리다는 것을 알게되었습니다. – RHH