代码之家  ›  专栏  ›  技术社区  ›  Felix

在用户未登录的情况下使用API搜索Netflix?

  •  0
  • Felix  · 技术社区  · 16 年前

    我正试图通过他们的api搜索netflix,但没有登录任何人(因为我想在后端执行此操作,不一定与任何用户操作相关)。我刚开始使用他们的api,所以请原谅我做了一些非常愚蠢的事情。这是我要访问的URL:

    http://api.netflix.com/catalog/titles/?oauth_consumer_key=MY_CONSUMER_KEY&oauth_token_secret=MY_SECRET&term=fight+club
    

    但是,这给了我一个 400 Bad Request 错误。如果没有用户首先登录到我的应用程序,是否无法浏览/搜索Netflix目录?还是我做错了什么?

    音符: 我正在通过浏览器访问该url,因为我只想执行 GET 请求,这是浏览器默认的功能。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Greg Beech    16 年前

    当使用oauth时,您需要为请求计算签名,即使您使用的是仅使用共享机密且没有用户令牌的双腿身份验证(这意味着您的应用程序已登录,但没有用户登录)。

    如果它是一个http(非ssl)url,那么您需要使用hmac-sha1*签名方法,而不是纯文本,因为您不希望您的消费者机密以纯文本的形式通过网络传递。

    如果它们允许使用https url,那么您可以使用纯文本方法,但是您仍然需要根据 http://tools.ietf.org/html/draft-hammer-oauth-10#page-27 把它当作 oauth_signature 查询字符串参数而不是传递 oauth_token_secret . 请注意,您还需要通过 oauth_signature_method=PLAINTEXT 作为一个参数。

    另外,可能值得看看反馈的结果。如果他们实现了oauth问题报告扩展,那么这就可以帮助您解决问题。


    *或另一种加密共享机密的方法