我正在与Web应用程序进行gmail登录集成,能够获取access_token,refresh_token,但用户api失败,并存在401未经授权的不足范围。
遵循本文档:(https://docs.snapchat.com/docs/login-kit#web)=>与此相关,可以成功获取access_token。 但是将此访问令牌用于用户API(https://developers.snapchat.com/api/docs/#user)时,失败,并出现上述错误。 在第一个请求中,我提到了display_name和avatar的两个范围。
以下是请求用户访问的网址:
https://accounts.snapchat.com/login/oauth2/authorize?redirect_uri=http%3A%2F%2Flocalhost%3A8000&scope=https%3A%2F%2Fauth.snapchat.com%2Foauth2%2Fapi%2Fuser.display_name%20https%3A%2F%2Fauth.snapchat.com%2Foauth2%2Fapi%2Fuser.bitmoji.avatar&response_type=code&code_challenge=J0NA7C6I6bs_UBBucQD--dBCrymJ560C4xda-n2tO4A&code_challenge_method=S256&client_id=<my_client_id>
以上响应包含一个代码的回调:
http://localhost:8000/?code=0j20OOqmnKjtDUtTXxEQxlLt5rE0X82zG6W_RNWXB80
然后,另一个API被点击:
POST https://accounts.snapchat.com/login/oauth2/access_token
带有client_id,client_secret,代码(如上所述),grant_type,redirect_uri,code_verifier
这会响应access_token,token_type,expires_in,refresh_token,范围。
然后是获取用户的最后一个API:
https://adsapi.snapchat.com/v1/me
信息以401未经授权回应
www-authenticate -> Bearer error="insufficient_scope", error_description="Insufficient Scope."