我有一个快速的问题,可能归结为一些愚蠢的事情。我有一个扩展OAuth::AccessToken
并使用实例变量 ( @
) 的类,因此每次构造对象时,这些变量在该实例中都是唯一的。但是,当我尝试从此类返回最终对象时,出现错误。一个简单的例子:
require 'oauth'
class OauthFigshare < OAuth::AccessToken
def initialize (consumerkey, consumersecret, accesstoken, accesstokensecret)
@consumerkey = consumerkey
@consumersecret = consumersecret
@accesstoken = accesstoken
@accesstokensecret = accesstokensecret
@apiurl = "http://api.figshare.com"
@consumer = OAuth::Consumer.new(@consumerkey,@consumersecret,{:site=> @apiurl})
@token = { :oauth_token => @accesstoken, :oauth_token_secret => @accesstokensecret}
puts @consumer.class
puts @token
@client = OAuth::AccessToken.from_hash(@consumer, @token)
puts @client
puts @client.get('/v1/my_data/articles')
return @client
end
end
问题是,当我在班级内部检查令牌是否有效时,它确实有效。但是,当我检查类外的构造对象时,它不起作用。
@client.get(url) returns Net::HTTPOk
在课堂上打电话
auth = OauthFigshare.new(inputs)
auth.get(url)
这返回Net::HTTPUnauthorized
我在这里没有得到关于范围的什么?
编辑以包括实际课程