Ошибка Signature_Invalid при использовании OAuth с API Delicious.com

Я получаю сообщение об ошибке signature_invalid при попытке подключиться через OAuth к delicious.com.

<cfset oUrl = "https://api.login.yahoo.com/oauth/v2/get_request_token"/>
<cfset oauth_nonce  = "?oauth_nonce="&randrange(45678,99999)/>
<cfset oauth_timestamp = "&oauth_timestamp=122253373"/>
<cfset oauth_consumer_key = "&oauth_consumer_key="&URLEncodedFormat('dj0yJrvVRvrvrvRVRvvRVervNVFEyTlRFeU5qTTrverVERVERVervervRT4r34r34fgjj--')/>
<cfset oauth_signature_method = "&oauth_signature_method=plaintext"/>
<cfset oauth_signature = "&oauth_signature="&URLEncodedFormat('f28revcevERVrv4f3vVrfr1hgvcWJc112bb0f74Tu')/>
<cfset oauth_version = "&oauth_version=1.0"/>
<cfset xoauth_lang_pref = "&xoauth_lang_pref=en-us"/>
<cfset oauth_callback = "&oauth_callback=http://www.example.com/del/t1.cfm"/>

<cfset my1 = oUrl&oauth_nonce&oauth_timestamp&oauth_consumer_key&oauth_signature_method&oauth_signature&oauth_version&xoauth_lang_pref&oauth_callback/>

Что я делаю неправильно? Для проверки я использую Consumer Key в качестве oauth_consumer_key и Consumer Secret в качестве oauth_signature.

(Это не мои настоящие ключи, я их модифицировал.)


person loo    schedule 27.09.2010    source источник


Ответы (1)


Не изобретайте велосипед. Уже есть хорошая библиотека OAuth для CF: http://oauth.riaforge.org/index.cfm

Я могу пойти дальше и сказать вам, что ваш потребительский ключ и секрет — это не то же самое, что ключ и подпись. Они используются для создания подписи, которую вы затем используете с ключом потребителя.

Получите пакет OAuth и следуйте инструкциям/демонстрациям. Если вы ищете учебные пособия по OAuth в Интернете, вы найдете несколько хороших. В основном они предназначены для интеграции с Twitter, но все же дают хороший обзор.

person Ben Doom    schedule 27.09.2010