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

sco*_*eak 13 javascript spotify ios

我正在测试以下示例,通过登录并重定向到auth屏幕来验证用户身份 - 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();
  }
})();
Run Code Online (Sandbox Code Playgroud)

在手机上试用时,它会在Safari中打开一个新标签.是否可以检查应用程序是否安装在iOS上并通过它登录?将使这个过程更快.

正如在这里的一个问题中看到的那样,它似乎已经解决但却无法理解触发它的原因是什么?- https://github.com/spotify/web-api/issues/718

谢谢!

小智 1

总结一下,这是一个汇总答案:

  • iOS 不允许查看您的设备上安装了哪些应用程序,Android 也不允许。
  • 使用通用链接(在 Android 和 iOS 上),一般来说,您可能会生成一个打开应用程序的链接,但为此,相应的应用程序需要在您的设备上注册此连接。
  • 特别是对于 Spotify,我认为 Spotify 应用程序没有注册这样的链接。原生应用程序通常不会仅触发身份验证,因此 Spotify 不太可能这样做。