2014-10-10 4 views
1

나는 루비에 새롭다. 그리고 루비 tumblr API를 사용하면서 몇 가지 문제가있다.ruby ​​SimpleOAuth 오류

이 매우 간단한 테스트 케이스 실행 :이 오류 메시지가 얻을

#!/usr/bin/env ruby 
require 'tumblr_client' 

Tumblr.configure do |config| 
    config.consumer_key = "XXXXXXXXXX" 
    config.consumer_secret = "XXXXXXXXXX" 
    config.oauth_token = "XXXXXXXXXX" 
    config.oauth_token_secret = "XXXXXXXXXX" 
end 

client = Tumblr::Client.new 

puts client.posts("test.tumblr.com") 

:

/Library/Ruby/Gems/2.0.0/gems/simple_oauth-0.3.0/lib/simple_oauth/header.rb:88:in `attributes': SimpleOAuth: Found extra option keys not matching ATTRIBUTE_KEYS: (RuntimeError) 
    [:api_host, :consumer_secret, :token_secret] 
    from /Library/Ruby/Gems/2.0.0/gems/simple_oauth-0.3.0/lib/simple_oauth/header.rb:74:in `signed_attributes' 
    from /Library/Ruby/Gems/2.0.0/gems/simple_oauth-0.3.0/lib/simple_oauth/header.rb:80:in `normalized_attributes' 
    from /Library/Ruby/Gems/2.0.0/gems/simple_oauth-0.3.0/lib/simple_oauth/header.rb:62:in `to_s' 
    from /Library/Ruby/Gems/2.0.0/gems/faraday_middleware-0.9.1/lib/faraday_middleware/request/oauth.rb:41:in `call' 
    from /Library/Ruby/Gems/2.0.0/gems/faraday-0.9.0/lib/faraday/rack_builder.rb:139:in `build_response' 
    from /Library/Ruby/Gems/2.0.0/gems/faraday-0.9.0/lib/faraday/connection.rb:377:in `run_request' 
    from /Library/Ruby/Gems/2.0.0/gems/faraday-0.9.0/lib/faraday/connection.rb:140:in `get' 
    from /Library/Ruby/Gems/2.0.0/gems/tumblr_client-0.8.4/lib/tumblr/request.rb:8:in `get_response' 
    from /Library/Ruby/Gems/2.0.0/gems/tumblr_client-0.8.4/lib/tumblr/request.rb:26:in `get' 
    from /Library/Ruby/Gems/2.0.0/gems/tumblr_client-0.8.4/lib/tumblr/blog.rb:40:in `posts' 
    from awd_tumblr.rb:13:in `<main>' 

을 내가 과거에 패러데이 버전과 약간의 문제가 있었다 및 일부 파일을 편집 할 수도 알을 그들을 해결하기 위해,하지만 그것은 오래 전이었고, 나는 그곳에서 무엇을했는지 전혀 모른다.

+0

보이는 이용할 수 있도록 응용 프로그램을 설정 master/lib/simple_oauth/header.rb # L8 – phoet

+0

하지만 그 이유는 무엇입니까? 그것에 대해 내가 뭘 할 수 있을까? – Justus1

답변

3

나는 패러데이 미들웨어 simple_oauth https://github.com/laserlemon/simple_oauth/blob/에 의해 소비 될 수없는 속성을 통과 같은 simple_oauth-0.2.0

+0

어떻게하면됩니까? –

+0

0.2.0 버전을 설치 한 다음 버전 번호를 설정하고 먼저 simple_oauth를로드하십시오. // gem 'simple_oauth', '= 0.2.0' // 'simple_oauth'가 필요합니다 // 'tumblr_client'가 필요합니다. – JRQ

2

나는 ruby ​​파일 /var/lib/gems/2.1.0/gems/simple_oauth-0.3.0/lib/simple_oauth/header.rb을 편집하고 경고문에 주석을 달았습니다. 그것은 작동합니다.

def attributes 
    matching_keys, extra_keys = options.keys.partition { |key| ATTRIBUTE_KEYS.include?(key) } 
    if options[:ignore_extra_keys] || extra_keys.empty? 
    Hash[options.select { |key, _value| matching_keys.include?(key) }.collect { |key, value| [:"oauth_#{key}", value] }] 
    else 
    Hash[options.select { |key, _value| matching_keys.include?(key) }.collect { |key, value| [:"oauth_#{key}", value] }] 
    # fail "SimpleOAuth: Found extra option keys not matching ATTRIBUTE_KEYS:\n [#{extra_keys.collect(&:inspect).join(', ')}]" 
    end 
end