搞这玩意儿的背景是当时要开发一个获取用户信息的接口,要用户在第三方界面登陆之后我们取信息,API功能挺简单的,就是文档太恶心了
开发过程中看过的文档记一份存档放在这里, OAuth 过程相关的内容另外开一篇文章记录
开发者账户需要验证身份证件
开发者平台:
https://developers.facebook.com
https://developers.facebook.com/docs/graph-api/using-graph-api/
https://developers.facebook.com/docs/graph-api/reference/user/groups/
# 查询特定用户的分组
GET /v10.0/{user-id}/groups HTTP/1.1
Host: graph.facebook.com
前端拿access_token: 使用sdk
https://developers.facebook.com/docs/graph-api/using-graph-api/
facebook lookup_id:
https://lookup-id.com/#
见 <Oauth流程> 文档
# 总览
https://developer.twitter.com/en/docs/developer-portal/overview
# 用 twitter app 取token
https://developer.twitter.com/en/docs/authentication/oauth-2-0/bearer-tokens
# 用 GET friends/list 方法,取用户正在 "follow" 的用户列表
https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list
传输数据:
social_media_type = "twitter"
再使用bot api查询群组中是否有对应用户id
# 这里的channel_id是trust dice news
# 当前例子是直接使用 bot api 进行查询
https://api.telegram.org/bot<token>/<method name>?<parameters>
# 当前使用 getChatMember 方法获取组内特定用户信息, 根据"status" 判断用户是否在频道中
# 若未关注, 就是left
# The member’s status in the chat. Can be ‘creator’, ‘administrator’, ‘member’, ‘restricted’, ‘left’ or ‘kicked’.
# 示例
https://api.telegram.org/bot<telegram bot token, 该项为敏感信息>/getChatMember?chat_id=@trustdicenews&user_id=<user_id, 可在 @userinfobot 中获取>
# 需要把bot加入到频道管理员, 否则每次查询都会user not found
# 在telegram更改bot权限后, 生效会有延迟,经验值是 10-20min 后生效
相关文档:
https://cloud.tencent.com/developer/ask/141496
https://core.telegram.org/bots/api#getchatmember