【问题标题】:Searching Tracks Spotify Android搜索曲目 Spotify Android
【发布时间】:2018-10-21 18:37:52
【问题描述】:

我目前能够使用 Android SDK 从 Spotify 播放曲目。我按照此处https://developer.spotify.com/documentation/android/quick-start/ 的说明进行授权。据我所知,我想允许用户搜索歌曲的功能(如果我错了,请纠正我),Android SDK 不支持,但 Web API 支持,如文档所述这里https://developer.spotify.com/documentation/web-api/reference/search/search/。问题是此请求需要访问令牌。使用 SDK 的授权流程时是否可以获取访问令牌,如果可以,如何获取?

【问题讨论】:

    标签: android spotify


    【解决方案1】:

    你是对的。为了使用 Spotify 的 Web API,您需要一个有效的访问令牌。您链接的指南使用 App Remote SDK 的内置身份验证流程。它在内部请求包含app-remote-control 范围的访问令牌。虽然我实际上在参考中找不到任何允许检索该确切访问令牌的内容。


    在这种情况下,您必须使用Android Auth library。本指南显示了两种身份验证方式,而第一种使用 Spotify 客户端或如果未安装 WebView 后备是他们强烈推荐的一种。在某些时候遵循本指南,您将获得一个 AuthenticationResponse 对象,您可以在其中使用称为 getAccessToken() 的方法来检索稍后可以与 Spotify 的 Web API 一起使用的访问令牌,如以下 sn-p 所示。如前所述,至少包含app-remote-control 范围很重要。如果您想获取用户特定的数据(例如播放列表),您还需要包含相应的范围。

    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
      super.onActivityResult(requestCode, resultCode, intent);
    
      // Check if result comes from the correct activity
      if (requestCode == REQUEST_CODE) {
        AuthenticationResponse response = AuthenticationClient.getResponse(resultCode, intent);
    
        switch (response.getType()) {
          // Response was successful and contains auth token
          case TOKEN:
            // Handle successful response
            String accessToken = response.getAccessToken();
            break;
    
          // Auth flow returned an error
          case ERROR:
            // Handle error response
            break;
    
          // Most likely auth flow was cancelled
          default:
            // Handle other cases
        }
      }
    }
    

    【讨论】:

    • 我可以通过用户输入搜索歌曲并在没有用户帐户的情况下在应用程序内播放,但使用开发者提供的正确身份验证密钥?
    猜你喜欢
    • 1970-01-01
    • 2017-01-12
    • 2017-04-27
    • 2013-04-18
    • 2020-12-11
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多