javascript - Spotify Web API - 通过 native 移动应用程序而不是浏览器对用户进行身份验证?

标签 javascript ios spotify

我正在测试以下示例,通过登录并重定向到身份验证屏幕来验证用户身份 - http://jsfiddle.net/JMPerez/j1sqq4g0/

此示例使用带有以下脚本的回调页面:

(function() {
  var hash = {};
  window.location.hash.replace(/^#\/?/, '').split('&').forEach(function(kv) {
    var spl = kv.indexOf('=');
    if (spl != -1) {
      hash[kv.substring(0, spl)] = decodeURIComponent(kv.substring(spl+1));
    }
  });

  console.log('initial hash', hash);

  if (hash.access_token) {
    window.opener.postMessage(
      JSON.stringify({
        type:'access_token',
        access_token: hash.access_token,
        expires_in: hash.expires_in || 0
      }), 
      'http://fiddle.jshell.net'
    );
    window.close();
  }
})();

在移动设备上尝试时,它将在 Safari 中打开一个新选项卡。是否可以检查应用程序是否安装在 iOS 上并通过该应用程序登录?将使过程更快。

正如这里的一个问题所见,它似乎已解决,但无法理解是什么触发了它这样做? - https://github.com/spotify/web-api/issues/718

谢谢!

最佳答案

总结这里是一个汇总的答案:

  • iOS 不允许查看您的设备上安装了哪些应用程序,Android 也不允许。
  • 使用 universal links (无论是安卓还是iOS),一般来说你可能会生成一个打开一个应用程序的链接,但是为此,对应的应用程序需要在你的设备上注册这个连接。
  • 特别是对于 Spotify,我认为 Spotify 应用程序没有注册这样的链接。原生应用程序仅触发身份验证并不常见,因此 Spotify 不太可能这样做。
  • 关于javascript - Spotify Web API - 通过 native 移动应用程序而不是浏览器对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50654556/

    相关文章:

    python - 如何并行化 python api 调用?

    ios - 使用 iOS Spotify SDK 在给定的开始时间启动 Spotify 轨道播放?

    javascript - 我正在努力让这个 jquery 上下滑动工作

    Javascript 原型(prototype)方法 "Cannot set property"

    ios - 访问 Storyboard中 UITableViewController 中定义的原型(prototype)单元以在代码中实例化该类

    ios - 将数据从 ViewControllerA 传递到 ViewControllerB(QuickDialog)

    javascript - 创建 AJAX 导航的最佳实践是什么?

    javascript - 函数在 for 循环内执行了多少次?

    ios - 在iOS中将对象转换为json

    spotify - 从 Spotify 应用程序内访问 Spotify 元数据 API?