开放用户API[一碗小米周]

Hi,欢迎使用小周的API,此文章最后更新于:2024年7月1日

0.介绍

小周的开放平台API是由一碗小米周开发的用于用户登录,统一用户各平台账号的API。API整合了账号密码登录、QQ登录、微信登录、手机验证码登录、邮箱登录、抖音登录(正在接入)、微博登录(正在接入)等多平台登录方式,便于开发者不用一个一个地去对接。

Ⅰ.开放平台账号注册

开放平台账号与此API账户不互通(后期计划俩账号可以相互绑定,实现账号互通)。

1.访问一碗小米周的登录页、点击此图标、进入账号注册页面、根据提示注册总帐号。

2.访问一碗小米周API控制台、等待加载,若未登录会跳转至登陆页面,填写你刚刚注册的账号后,点击登录,首次登录由于API平台没有你的信息,会自动创建相关信息,创建完成后,请点击[点我完成授权重新登录],若你的登录信息没有过期,你不用做任何操作,页面会自动回调,完成重新登录。

若有报错,请根据页面提示完成操作,若无法解决请留言或联系小周。

Ⅱ.开通用户API服务

点击左侧[API列表]、选择[共享用户]、选择[配置]

稍等页面加载与信息获取,在重定向的页面中选择,点击后请稍等,加载可能缓慢(页面的服务器位于大陆外,延迟有点小高,小周正在搭建国内节点)。开通成功后会自动重定向至管理页面。

原始节点已经自动生成,后续需要使用原始节点完成服务。

Ⅲ.完善服务

1.网站名称配置

点击左侧[API列表]、选择[共享用户]、选择[配置]、找到[网站名称]一栏、点击后方[设置网站名称]、在弹出的输入框中设置自己的网站名称。

注意:设置网站名称请三思,设置后无法修改,禁止设置违禁词!

2.设置请求IP

点击左侧[API列表]、选择[共享用户]、选择[配置]、找到[请求IP]一栏,在输入框中输入你的服务器IP,当回调获得Access_Token后,在获取用户信息时,非许可列表中的IP将不会返回信息,以防止Access_Token泄露造成用户信息泄露。

注意:一次只能输入一个IP,后续版本优化。

3.回调域名设置

点击左侧[API列表]、选择[共享用户]、选择[配置]、找到[回调域名]一栏,在输入框中输入你的根域名。

设置根域支持下辖所有域名,包括二级、三级等等……

注意:a.一次只能设置一个域名,后续版本优化。b.免费版只支持设置一个根域,其实已经很好了,相信我……

3.1域名所有权验证

找到刚刚添加的域名,选择[域名验证]

等待页面重定向至验证页面。

然后前往域名DNS解析服务商,添加一条TXT记录,完成后点击[立即验证]

点击后请稍等域名核验,完成后将回调至设置页面。此时域名验证将变为绿色

3.2域名备案验证

注意:如果你的域名没有备案,但是想使用此API,请将以下信息发送至小周的邮箱:xz@mail.ihwx.cn

需要的资料:1.身份证正反照片。2.域名实名认证页面截图。身份证信息需要与域名实名认证一致,且清晰可见。3.你的APPID以及注册时使用的手机号。

如果你不信任小周,建议在图片上添加水印,水印内容只能为:仅供一碗小米周域名核验使用

收到一碗小米周的邮件回复后,再进行接下来的步骤。

找到刚刚添加的域名,选择[备案验证]

等待页面重定向至验证页面。

确认域名无误后,点击[立即验证]

由于受域名热度的影响,你的验证可能消耗较长时间,点击可能无反应,请稍等,不要重复提交,验证成功后会回调至配置页面。

回调后可以查看,对应的域名显示已备案。

Ⅳ.请求登录

1.请求登录页面构造

在页面上方有原始节点(开通服务时生成)和加速节点(订阅版本获得,默认为空),如果你的原始节点为空,请联系小周。

原始此处节点为:https://v1.oauth.forhwx.cn原始登录路径为:/

则请求登录的路径为:https://v1.oauth.forhwx.cn/?参数

请求方法:GET

参数信息:

参数必要性说明
appid必须APPID在首页(数据详情)可以查看
bauri必须回调域,用户完成验证后的回调路径,需要在已经设置的回调域名下
need必须需要获取的信息,当前只能是get_user_info
code非必须传入的code会在回调时不变传回。

2.请求登录错误码

此段错误码不会直接显示,会直接在页面输出信息,你可以根据页面提示完成相关配置。

错误代码错误码释义以及解决措施
400APPID为空或者含有特殊字符。
检查APPID的值是否正确
4001IP处于封禁列表,请稍后再试.
该IP被识别为恶意IP,请稍后再试。
4002APPID不存在。
检查你的APPID是否与后台一致。
4003无法获取回调域名主域名!
请参照[Ⅲ.3回调域名设置],配置你的根域名例如:txtx.xyz
4004回调域未在允许域列表中!
检查你的回调域链接中,根域名是否为你在[Ⅲ.3回调域名设置]设置的域名
4005回调域为空!请先登陆控制台,设置回调域!
请参照[Ⅲ.3回调域名设置]
4006该APPID没有权限获取所需数据,请检查need设置。
检查传参中need参数是否为:get_user_info(当前只支持这个)
4007该APPID没有设置网站名称,请检查web_name设置。
请参照[Ⅲ.1网站名称配置]
4008网站状态异常。
网站可能由于违规等操作被封禁或网站管理员状态异常
4009回调域未备案!
请参照[Ⅲ.3回调域名设置3.2域名备案验证]
4010APPID未配置所需权限。
当前已经自动配置所需权限,若出现此代码请联系小周。
4011APPID未配置节点。
在后台查看自己APPID支持的服务节点是否存在,若不存在请联系小周。
4012APPID不支持在此节点获取服务。
在后台所示的服务节点获取服务。
4013回调域未验证所属权!
请参照[Ⅲ.3回调域名设置3.1域名所有权验证]

Ⅴ.用户登录错误码

此阶段可能会报一些错误码与配置相关,接入时需要注意。但大部分与用户登录相关

错误码错误码释义以及解决措施
4000数据不合规。
必要参数不全。
4001APPID不合规,请检查APPID.
传入的APPID存在为空、含有特殊字符等情况
4002APPID不存在或用户未开通服务。
检查APPID是否正确、该服务是否开通。
4003APPID状态异常。
管理员状态异常。
4004密码登录状态异常。
这可能是密码登录被禁止。请登录控制台查看。
4005密码登录次数已达上限,请通过订阅方式增加次数。
4006当前需要的权限不在APPID权限内。
请检查need参数是否在权限许可内,当前只允许为get_user_info
4007
4008
4009
4010
账号或密码错误。
用户输入的账号密码错误。
4007-ID密码;4008-账号密码;其他-邮箱密码
4011用户账号异常
4012域名所属权未校验,请管理员在后台完成域名归属权校验!
请参照[Ⅲ.3回调域名设置3.1域名所有权验证]
4013该网站未配置该回调,请检查回调域设置!
请参照[Ⅲ.3回调域名设置]
4014回调域未验证备案,请管理员在后台验证备案!
请参照[Ⅲ.3回调域名设置3.2域名备案验证]
4015密码登录版本已过期,请通过订阅方式更新版本。
订阅过付费版本到期后需要手动订阅免费版。
4601QQ登录状态异常。
这可能是QQ登录被禁止。请登录控制台查看。
4501未知的登陆方式。
检查是否为正常通道请求登录服务。
4602QQ登录次数已达上限,请通过订阅方式增加次数
4603QQ登录版本已过期,请通过订阅方式更新版本。
订阅过付费版本到期后需要手动订阅免费版。
4604该APPID未配置服务节点。
这可能是创建服务时出错,请联系小周。
4605该APPID无法在此节点获取服务,可能是因为未开通此节点或此节点服务已经被禁止
请联系小周,获取详细情况。
4701微信登录状态异常。
这可能是微信登录被禁止。请登录控制台查看。
4702QQ登录次数已达上限,请通过订阅方式增加次数
4703微信登录版本已过期,请通过订阅方式更新版本。
订阅过付费版本到期后需要手动订阅免费版。
4801短信登录状态异常。
这可能是短信登录被禁止。请登录控制台查看。
4802短信登录次数已达上限,请通过订阅方式增加次数
4803短信登录版本已过期,请通过订阅方式更新版本。
订阅过付费版本到期后需要手动订阅免费版。
5001登陆方式不受支持。
检查是否为正常通道请求登录服务。
5003该QQ账户未绑定相关账号!
5002
5005
5006
数据库错误
5004
5105
用户账号异常
5103该微信账户未绑定相关账号!
5101
5102
数据库错误
5201验证码格式错误!
5202数据库错误
5203该手机号未注册请先注册账号!
5204账号异常
5205手机号格式错误!
5206短信唯一ID错误!
5207
5208
短信验证码ID错误
5209
5210
短信验证码已过期
5211验证码与手机号不匹配!
5212验证码错误!
5213验证码与用途不匹配!
5214数据库错误

Ⅵ.回调

当用户完成登陆后,会回调至传入的bauri地址。

回调方法:GET

回调参数回调说明
access_token用于获取用户信息的凭证,请妥善保管,有效期1小时
code在请求登陆时传入的code。

Ⅶ.获取用户信息以及Rfresh_token

1.请求

首次使用access_token获取用户信息时,会创建refresh_token,便于刷新access_token.

获取请求地址:

在服务节点中有[API路径],如图所示

路径为服务节点+API路径。例如:https://v1.oauth.forhwx.cn/api/get_user_info.php?参数

请求方式:GET

返回格式:json

请求参数:

请求参数必须性说明
appid必须你的授权ID,可以通过控制台查看。
appkey必须你的密钥,可以通过控制台查看。
access_token必须回调给你的access_token.

示例:https://v1.oauth.forhwx.cn/api/get_user_info.php?appid=1111111&appkey=222222&access_token=33333333

2.返回

返回的数据为json格式。

返回字段说明是否必然返回
code状态值,正常为200
access_token传入的access_token
serverid服务ID,出错无法自己解决请保存此ID联系小周
msg信息,会输出错误的解决方式等
data请见下表

data信息字段说明

data字段说明是否必然返回
uuid用户在该网站的唯一ID,用于标明用户的身份在data返回时必然返回
avatar用户的头像地址在data返回时必然返回
nickname用户设置的昵称在data返回时必然返回
refresh_token刷新access_token的code,请妥善保存仅在第一次使用access_token时返回
access_token_expiresaccess_token的有效期(秒)从获取到时计算起在data返回时必然返回
refresh_token_expiresrefresh_token的有效期(秒)从获取到时计算起仅在第一次使用access_token时返回

3.错误码释义

错误码释义及说明
400参数缺失
4001APPID或APPKEY错误
4002主账号状态异常。
检查账号状态是否被封禁。
4003该服务状态异常。
该项服务未开启或者被封禁。
4004请求IP不在许可范围内。
请参照[Ⅲ.2设置请求IP]将你的IP设置正确,请不要设置代理
4005
4006
4007
AccessToken不存在或已经过期!
重新获取Access_token.
4008获取AccessToken的APPID与当前请求APPID不一致,请检查你的APPID
Access_Token与APPID不匹配。
4011获取用户信息失败。
可能是由于网络原因导致无法获取用户信息,建议再次尝试。
4012用户不存在。
Access_token获取到的用户信息是错误的。
4013该用户的状态异常。
登录的用户被封禁或者其他策略原因无法登录。
4014为用户创建uuid失败.
尝试再次请求,若问题依旧,请联系小周。
4015更新get_refresh_token状态失败。
尝试再次请求,若问题依旧,请联系小周。
4016为用户更新RefreshToken失败。
尝试再次请求,若问题依旧,请联系小周。
4017该用户未开启OpenUser服务
参照[Ⅱ.开通用户API服务]开启服务。

请妥善保管相关信息,可以避免反复调用登录接口,消耗自己的配额。

Ⅷ.通过refresh_token更新access_token

1.请求

对于临近过期的access_token你可以采取刷新access_token的操作,以保持用户的登录状态。

获取请求地址:

此节点未在控制台配置当中写出,接口地址为获取用户的地址,但需要将get_user_info.php修改为

refresh_access_token.php

请求路径示例:https://v1.oauth.forhwx.cn/api/refresh_access_token.php?参数

请求方式:GET

返回格式:json

请求参数及说明:

请求参数必须性说明
refresh_token必须在第一次通过access_token获取用户信息时获得的字段。
access_token必须用户登录时回调、通过刷新到的access_token
appid必须你的授权ID,可以通过控制台查看。
appkey必须你的密钥,可以通过控制台查看。

注意:刷新access_token后,原access_token会立即失效,新获得的access_token在第一次获取用户信息时不会产生refresh_token因此,请妥善保管你的access_token和refresh_token.

2.返回字段

返回字段说明是否必然返回
appid你的APPID
access_token你的旧access_toekn
refresh_token你的refresh_token
code状态码,正常为200
msg说明,正常为空
serverid服务ID,当你无法解决此问题时,请记录下此服务ID,联系小周
data返回的主要数据

data返回字段说明:

当code为200时,此字段才有值。

data字段说明是否必然返回
new_access_token新的access_token在data返回时必然返回
new_access_token_expires新的access_token有效时间(秒)一般为3600在data返回时必然返回

3.错误码说明

错误代码释义及说明
4001APPID或APPKEY错误。
4002主账号状态异常。
检查账号状态是否被封禁。
4003该服务状态异常。
该项服务未开启或者被封禁。
4004请求IP不在许可范围内。
请参照[Ⅲ.2设置请求IP]将你的IP设置正确,请不要设置代理
4005
4006
4007
AccessToken不存在或已经过期!
重新获取Access_token.
4008获取AccessToken的APPID与当前请求APPID不一致,请检查你的APPID
Access_Token与APPID不匹配。
4017该用户未开启OpenUser服务
参照[Ⅱ.开通用户API服务]开启服务。
4600为用户更新AccessToken失败。
可能是网络的原因,建议重试,若问题依旧,请联系小周。
4601更新原始AccessToken失效失败。
可能是网络的原因,建议重试,若问题依旧,请联系小周。
4602更新RefreshToken绑定的AccessToken失败。
可能是网络的原因,建议重试,若问题依旧,请联系小周。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇