如何使用从 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?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Snapchat 上的视频上添加文本

在 xcode 中使用 tableview 创建注册表单(如 SnapChat)

Snapchat更新状态栏iOS7更新

我们如何使用 ArCore 在 Flutter 中实现类似 snapchat 的过滤器

面部过滤器实现,如 MSQRD/SnapChat [关闭]

构建像 Snapchat 这样的 Firebase 数据库