我一直在"您无权执行此操作。"在尝试连接时。我错过了什么?
url = 'https://api.getstream.io/api/v1.0/feed/user/12353253/?api_key=API_KEY'
payload = {
'resource' => 'feed',
'action' => 'read',
'feed_id' => 'user:12353253'
}
token = JWT.encode(payload, secret, 'HS256')
options[:headers] = {
'Authorization' => token,
'stream-auth-type' => 'jwt'
}
response = HTTParty.get(url, options)
答案 0 :(得分:3)
除了有效负载中feed_id
的值之外,您看起来一切正常。它应该是“user12353253”而不是“user:12353253”(没有分号)。
P.S。 我是Stream的创始人之一,REST API并不能很好地解释这一点。我们会尽快更新它们。
答案 1 :(得分:0)
是否需要使用HTTParty? Stream has a Ruby library使得这一点变得更加容易,JWT也会为你做幕后工作。
client = Stream::Client.new('API_KEY', 'API_SECRET', :location => 'us-east')
user_feed = client.feed('user', 12353253.to_s)
results = user_feed.get(:limit => 10)
默认情况下,这应该为你做JWT。
如果你真的想自己做,你可以追踪客户端库正在做什么并重现它。