2011-05-11 12 views
1

OAuth 구성 요소를 개발했으며 oauth_token을 보유한 Yahoo의 OAuth 프로세스를 완료했습니다.MAking API 요청에 항상 "token_rejected"오류가 발생했습니다.

하지만 yahoo API (예 : 연락처 또는 YQL)에 API 호출을하면 항상 "Token_Rejected"오류 메시지가 표시됩니다.

HTTP 401

서명 : 6fR3VdygGrRCO+WrS6tlD3hjHMI=

base_string :

GET&http%3A%2F%2Fsocial.yahooapis.com%2Fv1%2Fuser%2FMOMJS2M2KSMQKT2D 
Q4O7NS4JFU%2Fprofile%2Fusercard&oauth_consumer_key%3Ddj0yJmk9ZmZzUFVQblZzM1JVJmQ 
9WVdrOU9GbFNRMUJuTmpRbWNHbzlOVFUyTWpRNU9EWXkmcz1jb25zdW1lcnNlY3JldCZ4PTJk%26oaut 
h_nonce%3D2366072fe9829333b98eb6f2a7539afa%26oauth_signature_method%3DHMAC-SHA1% 
26oauth_timestamp%3D1305099596%26oauth_token%3DA%3D4cnEo.njj1_C6XtkvR3o5x3vOYqrN 
hHk3sBFh76pPtcKA07WF69OADx8zU7o0dPSRauN77UIBw.5bEk5opw15A8SSemxquErvhhHPuAhtm0SB 
UuGBOSMxapwBdU1.E4oeQQMXIvKRFhy81EVbIDclBcxzeG.y.eEUdNFDkp_suVAKko.i6Tazpbfkqa1C 
__7BAQO5m74CIsalgwyyI8z99eITPlzq_llb7CZzhoWJTVzVAVH_hoU2jBbjSwP00AGB.ovXqT0Ayf0. 
WHG2v7hhFhVh.MEx6H0oa8rgpUSZr68dViiIPLfV6G.fGCF3GSnE4uVNiDWM2.x4Lf37slpGWqmjUTtX 
B8UVlTQU0auc_YCbGC9wSiUHePWEhpzkgQ6lf.G0mZ9VJ5I_9jbZzlJD52ffUoMDVs97qEeT4CRRa.0p 
hwt1dWx16pV.cmhRXSHUqCkDXVmCGpZI5rXD6fR2QoCoQNOOf6e3rGqaz1cF_kY4BgKfKWVa_RF.peOg 
PIaUYF1L9CFtG2Zj1HkyhgzTcYbJZemoxO3WtOD8PHM3cUGJWvGcAibfDf1Ntu6BmsQa_aZfjZ11ou8n 
F1kjeFsf9wUpHOvGS_qOtaUT8b5rV8CXd.mcZyLghscWIOy339QjgZ6nz2PVchf2P2Rd0JhbNR_OzHWb 
5l9LBBOH9RM5TkHm7N2HSdxaSxSFA6rLU5gguZU7xFEnQ44o7hMCbyfL4SL6VdOz9hIuTjYh8GHHYTM0 
iIU.O.Gh_tNPjLVZ8j6T2G2W1L5JgCYz8K_D7bn8EHL9FNwffqZQgmtXqjqpIFATcQ.h.91zP_uc4mij 
gzvwnfE8n80N7hZKVA-%26oauth_version%3D1.0 

응답 :

<?xml version='1.0' encoding='UTF-8'?> 
<yahoo:error xmlns:yahoo='http://yahooapis.com/v1/base.rng' 
xml:lang='en-US'> 
<yahoo:description>Please provide valid credentials. OAuth oauth_problem="toke 
n_rejected", realm="yahooapis.com"</yahoo:description> 
</yahoo:error> 

나는이 액세스 토큰이 만료되지 않은 매우 확신합니다.

이 문제를 해결하는 방법? 감사합니다. .

답변

1

, 이유는 내가 기본 문자열로 쿼리 문자열을 인코딩 할 때 내가 쿼리 문자열을 놓친 것입니다,이 문제는 해결되었다.

+0

urlencode 문제 ... – ina

0

액세스 토큰을 테이블에 저장 한 다음 해당 테이블의 액세스 토큰을 사용하여 API를 호출하는 경우 열을 문자열로 만들면이 값은 255 자로 줄입니다. 방금 문자열에서 텍스트로 변경하고 저장했습니다.

물론 액세스 토큰을 테이블에 저장 한 다음 전화를 걸면 물론입니다. 나는이 오류 메시지가 똑같이 적용되었다. 내가 도울 수

희망,

고란 나는이 문제를 해결했다

+0

액세스 토큰은 데이터베이스에서 저장 및 쿼리하지 않고 API를 직접 호출하는 데 사용되며 내 데이터베이스 열은 varchar (8000)이므로 액세스 토큰 값을 저장하기에 충분합니다. –

1

앞으로이 질문을 겪는 모든 사람에게 : PHP를 사용하여 https://api.login.yahoo.com/oauth/v2/get_token에서 "토큰 거부 됨"을 계속받는 경우. 그런 다음 흐름과 관련이 있는지,이 호출을하기 전에 액세스 토큰에서 urldecode를 호출하는지 확인하십시오.

관련 문제