oAuth 身份验证 - 即使一切正常,令牌也总是无效

oAuth authentication - Always invalid token even if all seems ok

我知道有一些类似的问题,但它们已经很老了,所以在最新版本中可能有所改变。

我正在尝试使用 Native SDK 连接到 Deezer,但我卡在了身份验证阶段。

我相信我设置好了:

  1. 我打开浏览器并加载 url https://connect.deezer.com/oauth/auth.php?app_id=281202&redirect_uri=http://localhost:3625/deezer&perms=basic_access
  2. 我在 localhost:3625
  3. 的回电中收到访问令牌
  4. 我解析 url 并提取令牌
  5. 我把令牌给 dz_connect_set_access_token(app_ctxt->dzconnect,NULL, NULL,

我得到以下结果:

34986:958625 connect-session: [dz_connect_session_user_info_cb:973] api_ret:1 responsedata:0x7ff7a0118c50 34986:958679 dzuser: [dz_user_import_json_data:106] error {   "error":{
    "type":"OAuthException",
    "message":"Invalid OAuth access token.",
    "code":300   } } field e91f2fce333d4a7ab9b75cfaee3115e4_fr7d8cf7ef16ff4f3b250592154c402b

确实消息很清楚,所以不知道为什么不识别。我应该检查什么?从代码来看,一切似乎都很好,令牌是我在重定向中看到的:

http://localhost:3625/deezer?code=fr7d8cf7ef16ff4f3b250592154c402b

会不会是因为我使用了与默认 NanoPlayer 用户令牌相同的设备 ID?

另外,我没有使用秘钥,对吗?

非常感谢您的回复,在此先感谢您。

此致, 斯特凡诺

oAuth 过程分为两个阶段。

看来你只做了第一步:

(1) https://connect.deezer.com/oauth/auth.php?app_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&perms=basic_access,email

--> 将 return 变成 USER_OAUTH_CODE

(2) https://connect.deezer.com/oauth/access_token.php?app_id=YOUR_APP_ID&secret=YOUR_APP_SECRET&code=USER_OAUTH_CODE

--> 将 return USER_ACCESS_TOKEN