Как использовать AccessToken, полученный от Snapchat, для получения UserData?

Следуя документации для входа в систему snapkit (WEB), я реализовал код на стороне сервера и могу получить токен доступа для пользователя (раздел 2.5 на https://docs.snapchat.com/docs/tutorials/login-kit/web/).

Как использовать этот токен для фактического получения пользовательских данных? Нет упоминания о том, что нужно делать, например. сделать запрос POST / GET с токеном доступа? Я считаю, что это самая важная часть процесса, и, похоже, она отсутствует в документации.

Я также пробовал использовать SCSDKLoginClient.getAccessToken (), я могу получить токен из Snapchat для пользователя, который вошел в систему. Однако я также не могу найти никакой документации о том, как получить данные пользователя там. Единственное упоминание - это функция обратного вызова fetchUserData (), но там также нет поля для Token.


person sudcha    schedule 26.08.2019    source источник
comment
Вероятно, они управляют токеном за вас. Они не хотят, чтобы вы управляли токеном   -  person canister_exister    schedule 27.08.2019
comment
Они работают в том случае, если пользователь перенаправлен на экран входа в систему. После того, как пользователь подтвердил вручную (через deeplink в приложении или через Интернет), Snapkit позволяет приложению получать AccessToken. Для последующих выборок данных должен быть способ отправить этот токен для получения свежих данных пользователя.   -  person sudcha    schedule 27.08.2019
comment
Они делают это под капотом для вас   -  person canister_exister    schedule 27.08.2019
comment
Спасибо за ответ. Я не очень уверен, как это сработает, если честно. Я храню токен в своей базе данных. Его необходимо передать в какой-то метод (fetchUserData ()) для аутентификации, иначе как Snapchat будет различать разные токены?   -  person sudcha    schedule 27.08.2019
comment
разные токены? 1 токен на пользователя. Если вы выйдете из системы, комплект оснастки очистит брелок   -  person canister_exister    schedule 27.08.2019
comment
Привет, @canister_exister, извините за задержку. Я все еще не могу решить эту проблему. Я обновил описание, не могли бы вы еще раз взглянуть? Мой предыдущий комментарий касался того, как Snapchat будет различать токены разных пользователей. В любом случае, как получить данные пользователя из токена доступа? Скорее, как мне использовать токен доступа для набора для входа в Snapchat?   -  person sudcha    schedule 05.10.2019


Ответы (1)


Отвечая на свой вопрос, поскольку я нашел ответ после долгих исследований, благодаря поддержке Snapchat.

Как только вы получите токен доступа, следуя документации, выполните следующие действия, чтобы получить информацию о пользователе.

(Замените ACCESS_TOKEN на свой собственный токен доступа.)

Сделайте POST-запрос на

URL: "https://kit.snapchat.com/v1/me"
Headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer ' + access_token}
jSON_body= {"query":"{me{displayName bitmoji{avatar} externalId}}"}

Это должно вернуть результат jSON, как показано ниже, с информацией о пользователе:

{
    "data": {
        "me": {
            "displayName": "DISPLAY_NAME",
            "bitmoji": {
                "avatar": "URL_BITMOJI_IMAGE"
            },
            "externalId": "EXTERNAL_ID"
        }
    },
    "errors": []
}
person sudcha    schedule 08.10.2019
comment
Привет, я тоже здесь. Могу ли я узнать, что вы имеете в виду под (замените ACCESS_TOKEN своим собственным токеном доступа). Какой маршрут мне следует вызвать, чтобы это сделать? - person Mindru Ion; 25.08.2020
comment
У вас должен быть токен доступа от Snapchat. Просто замените ACCESS_TOKEN на полученный токен. - person sudcha; 07.09.2020
comment
Эй, я хотел бы знать, где вы узнали, где находится конечная точка API? - person Alex_Zhong; 23.12.2020