如何使用从 Snapchat 收到的 AccessToken 来获取 UserData?
Posted
技术标签:
【中文标题】如何使用从 Snapchat 收到的 AccessToken 来获取 UserData?【英文标题】:How to use AccessToken received from Snapchat to fetch UserData? 【发布时间】:2019-08-26 21:08:07 【问题描述】:按照 snapkit 登录文档 (WEB),我实现了服务器端代码并能够为用户获取访问令牌(第 2.5 节https://docs.snapchat.com/docs/tutorials/login-kit/web/)。
如何使用此令牌来实际获取用户数据?没有提到必须为前做些什么。使用访问令牌发出 POST / GET 请求?我认为这是该过程中最关键的部分,文档中似乎缺少它。
我也尝试使用 SCSDKLoginClient.getAccessToken(),我能够从 Snapchat 中为已登录的用户检索令牌。但是,我也找不到任何关于如何在那里获取用户数据的文档。唯一提到的是回调 fetchUserData() 但那里也没有 Token 字段。
【问题讨论】:
他们可能会为您管理令牌。他们不希望您管理令牌 他们在用户被引导到登录屏幕的情况下这样做。一旦用户手动确认(通过应用内的深层链接或通过网络),Snapkit 允许应用获取 AccessToken。对于后续的数据获取,必须有一种方法可以发送该令牌以获取新的用户数据。 他们在幕后为你做这件事 感谢您的回复。老实说,我不太确定这将如何发挥作用。我将令牌存储在我的数据库中。必须将其传递给某个方法(fetchUserData())进行身份验证,Snapchat 还能如何区分不同的令牌? 不同的令牌?每个用户 1 个令牌。如果您注销 snap kit 将清理钥匙串 【参考方案1】:感谢 Snapchat 支持,我在经过长期研究后找到了答案,从而回答了我自己的问题。
按照文档获取访问令牌后,请按照以下步骤获取用户信息。
(将 ACCESS_TOKEN 换成您自己的访问令牌。)
向
发出 POST 请求URL: "https://kit.snapchat.com/v1/me"
Headers = 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + access_token
jSON_body= "query":"medisplayName bitmojiavatar externalId"
这应该返回带有用户信息的 JSON 结果,如下所示:
"data":
"me":
"displayName": "DISPLAY_NAME",
"bitmoji":
"avatar": "URL_BITMOJI_IMAGE"
,
"externalId": "EXTERNAL_ID"
,
"errors": []
【讨论】:
你好,我也是栈。我可以知道您所说的“(将 ACCESS_TOKEN 换成您自己的访问令牌。)”我应该调用什么路线才能做到这一点? 您应该拥有来自 Snapchat 的访问令牌。只需将上面的“ACCESS_TOKEN”替换为您获得的令牌即可。 嘿,我很想知道您是从哪里找到 API 端点的?以上是关于如何使用从 Snapchat 收到的 AccessToken 来获取 UserData?的主要内容,如果未能解决你的问题,请参考以下文章
在 xcode 中使用 tableview 创建注册表单(如 SnapChat)