Stream API的操作权限错误

时间:2016-10-11 18:39:24

标签: ruby jwt httparty getstream-io

我一直在"您无权执行此操作。"在尝试连接时。我错过了什么?

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)

2 个答案:

答案 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。

如果你真的想自己做,你可以追踪客户端库正在做什么并重现它。