用户取消了对话框

时间:2017-05-15 19:59:40

标签: cordova ionic-framework ionic2 google-fit

当我尝试使用简单代码作为Ionic Framework中的示例时,我收到此错误(用户取消了对话框)

this.health.isAvailable()
.then((available:boolean) => {
  console.log(available);
  this.health.requestAuthorization([
    'distance', 'nutrition',  //read and write permissions
    {
      read: ['steps'],       //read only permission
      write: ['height', 'weight']  //write only permission
    }
  ])
  .then(res => console.log(res))
  .catch(e => console.log(e));
})
.catch(e => console.log(e));

3 个答案:

答案 0 :(得分:2)

此问题列在plugin's documentation中,包含所需的所有数据。

但是如果它在时间的流逝中迷失了,那么这里就是摘录。

它会尝试从Google健身API获取授权。应用程序的程序包名称和签名密钥必须在Google API控制台中注册。 (见here)。

答案 1 :(得分:0)

您可以参考这些主题(12)。由于Android上存在密钥哈希问题,您可能会遇到此问题。在iOS版本中可能观察到相同的情况。同样基于此documentation,请确保您的包名称(即应用ID)是您想要的。在设置iOS和Android时使用此包名称。如果你不这样做,你可能会得到一个12501,“用户取消”错误,尽管从未取消登录过程。

答案 2 :(得分:0)

之前的答案是正确的,并且朝着正确的方向前进,最终确定问题:

  • SHA-1证书指纹必须与Fitness API控制台中的OAuth 2.0客户端ID相关联,并且......
  • 如果Google Play启用了应用签名证书,那么您必须使用此证书的SHA-1证书指纹,而不是上传证书