2013-08-26 2 views
0

MapMyFitness API에 몇 가지 문제가 있습니다. MapMyFitness 내가 성공적으로 그 후 3.1/OAuth를/request_tokenMapMyFitness API OAuth 질문

를 호출 임시 인증 토큰/일시 비밀 토큰 조합을 얻을 수 있어요 OAuth는 1.0

를 사용하여, 나는 성공적으로 인증 페이지로 사용자를 할 수 오전 인증 확인 프로그램을 사용하여 리디렉션 콜백을받습니다.

그 후 불행히도 3.1/oauth/access_token을 호출 할 때 오류가 발생합니다. (HTTP 오류 401)

먼저 MMF 설명서 (http://api.mapmyfitness.com/3.1/oauth/access_token?doc) : 요청 토큰 및 액세스 토큰에 대한 인증 확인 프로그램을 교환하십시오. 그러나 문서의 입력 인수 목록에는 oauth_verifier에 대한 언급이 없습니다. 리디렉션 콜백과 함께받은 oauth_verifier를 access_token 호출에 인수로 전달해야합니까?

둘째로, 나는 아마도 서명을 올바르게 작성하지 않은 것으로 보입니다. 3.1/oauth/request_token 호출의 경우 서명 생성 키는 'XXX &'입니다. 여기서 XXX는 MapMyFitness에서 내 앱에 할당 한 소비자 비밀번호입니다. 이것은 잘 작동합니다. 3.1/oauth/access_token 호출의 경우 'XXX & YYY'을 서명 키로 사용합니다. 여기서 XXX는 MapMyFitness에서 내 앱에 할당 한 소비자 비밀 키이고 YYY는 3.1 동안 서버에서 반환 한 임시 비밀 토큰입니다/oauth/request_token 호출. 그 맞습니까?

나는 모든 제안을 매우 감사 할 것입니다.

답변

0

좋아, 잘 했어. 우선, oauth_verifier는 매개 변수의 일부로 포함될 필요가 있습니다. 어떤 이유로 Map My Fitness는 필수 매개 변수 목록에 Map Fitness를 포함하지 않지만 반드시 있어야합니다. 둘째 - 매우 중요합니다 - OAuth 1.0 문서에 따르면 서명을 만들 때 모든 매개 변수가 사전 순으로 있어야합니다. 그렇지 않으면 서명이 일치하지 않아 HTTP 401 오류가 발생합니다. 알파벳순으로 매개 변수를 정렬하면 임시 MapMyFitness 자격 증명을 영구적 인 자격 증명으로 교환 할 수있었습니다.