Stream API 的操作权限错误

Action permission error with Stream API

我在尝试连接时一直收到 "You do not have permission to perform this action."。我错过了什么?

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)

有使用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。

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

看起来您的一切都正确,除了负载中 feed_id 的值。它应该是 "user12353253" 而不是 "user:12353253" (没有分号)。

P.S。 我是 Stream 的创始人之一,REST API 对此没有很好的解释。我们会尽快更新。