Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error https://api.io.mi.com/app/home/device_list: Login failed #2

Open
hujinttao opened this issue Mar 28, 2023 · 40 comments
Open

Error https://api.io.mi.com/app/home/device_list: Login failed #2

hujinttao opened this issue Mar 28, 2023 · 40 comments

Comments

@hujinttao
Copy link

微信截图_20230328145536

登录失败,我检查了我的小米账号和密码没问题,我打印了登录的返回值,发现没有userId,是什么情况,我的小米账号需要配置什么嘛?

@codingbylch
Copy link

codingbylch commented Mar 31, 2023

遭遇了同样的情况。可能是没有读取到账号密码:windows需要在环境变量中设置,设置后重启终端。

@jjiikkkk
Copy link

jjiikkkk commented Apr 7, 2023

我从国外服务器折腾到国内服务器,账号和密码始终连不上去

@danranmmm
Copy link

我也遇到同样的问题,centos

@danranmmm
Copy link

遭遇了同样的情况。可能是没有读取到账号密码:windows需要在环境变量中设置,设置后重启终端。

你们的问题解决了吗

@jjiikkkk
Copy link

他们都是用的WLS来实现的,同时用AMD的服务器,SSH以及云端的CONSOLE全部会失败
还有一种方法是小米小爱开放平台申请API,这个自己搜索一下头条

@zhangzimingmmz
Copy link

我也一样,用的是腾讯云的ubuntu

@jjiikkkk
Copy link

别试了 没用的 要WLS

@jjiikkkk
Copy link

我折腾了几天后来放弃了,有空再去搞WLS吧,好在我有小米小爱开放平台的API
另外不需要小米音箱,普通音箱接API也可以的

@testwhite
Copy link

Exception: Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_7xLQmOIVBC9bqdAaTrhe0MFyPop41j: Login failed 一样的手机正常登录,这个无法使用。也不知道为啥,window可以正常获取。

@testwhite
Copy link

image

@litianc
Copy link

litianc commented May 5, 2023

海外ip环境下执行micli list出现同样报错,resp返回值里没有userId。切换到国内ip,返回正常,获取到设备信息。希望对遇到同样问题的人有帮助

@jjiikkkk
Copy link

jjiikkkk commented May 5, 2023

没觉得国内的一样通不过

@jjiikkkk
Copy link

jjiikkkk commented May 5, 2023

我还要去做WLS吗 好累啊 心累

@litianc
Copy link

litianc commented May 6, 2023

WLS是什么? @jjiikkkk

@testwhite
Copy link

敢问大佬能不能把这个项目封装成.exe这样就省事多了。环境问题真是永远的坑

@6vision
Copy link

6vision commented May 6, 2023

本地笔记本的wls可以执行到唤醒说出问题,但连不上openai,我配置了系统代理(微信机器人就可以正常连接使用)!用阿里云国内的服务器也是到这一步,再用国外的Azure服务器,就报错了login faild/////////怎么解决
image

@tuihou123321
Copy link

我也报错了

Cannot connect to host sts.api.io.mi.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)')]

@woiweb
Copy link

woiweb commented May 29, 2023

同问,macos,在公司电脑上安装的时候OK,在家里的电脑就不行了,方式都一样

aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host sts.api.io.mi.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]
Error https://api.io.mi.com/app/home/device_list: Login failed

@woiweb
Copy link

woiweb commented May 31, 2023

Problem solved,you should reinstall the cerfificate,the comman as follow:

Navigate to
cd /Applications/Python\ 3.7/

Click on Install Certificates.command

This should solve it.

refer to:aio-libs/aiohttp#955 (comment)

@OnlyTL
Copy link

OnlyTL commented Jun 7, 2023

他们都是用的WLS来实现的,同时用AMD的服务器,SSH以及云端的CONSOLE全部会失败 还有一种方法是小米小爱开放平台申请API,这个自己搜索一下头条

这个申请API怎么使用,我认证了开放平台,但是不知道怎么弄

@jiangyanfeng
Copy link

微信截图_20230328145536

登录失败,我检查了我的小米账号和密码没问题,我打印了登录的返回值,发现没有userId,是什么情况,我的小米账号需要配置什么嘛?

这个是因为海外登录,触发了双重验证。错误消息中的URL就是双重验证要求访问的地址。访问这个地址会先排除你是否是机器人,然后再给你的安全手机发一个短信验证码,短信验证码通过后,当前登录使用的IP才会到白名单上,下次不会再触发双重验证。

坑爹的是,在国内的服务器上,小米登录没问题,但访问 openai 有问题(搭梯子或使用代理都不方便)。在国外的服务器上,访问 openai 没问题了,但小米登录又触发双重验证了。这个双重验证目前必须人工进行。

@chaoqunxie
Copy link

你解决了么,我也遇到同样的报错

@chaoqunxie
Copy link

微信截图_20230328145536

登录失败,我检查了我的小米账号和密码没问题,我打印了登录的返回值,发现没有userId,是什么情况,我的小米账号需要配置什么嘛?

参考这个 解决了 Yonsm#32

@jjiikkkk
Copy link

jjiikkkk commented Jul 4, 2023

微信截图_20230328145536

登录失败,我检查了我的小米账号和密码没问题,我打印了登录的返回值,发现没有userId,是什么情况,我的小米账号需要配置什么嘛?

搞不定就不搞呗,我好久没弄了
还有其他方式可以弄

@yihong0618
Copy link
Owner

@chaoqunxie thanks
感觉我们可以在 readme 里加一下

@bobo-junjun
Copy link

本地可以,服务器不行的可以试试。根据大佬的提示,我把location里面的地址拿到浏览器上,登录,验证之后,服务器还是登录不上。但是我坚信是因为新ip登录验证的问题,于是我换了另外一种方法,在服务器上安装x-ui,然后全局代理到本地,在本地登录一次,通过验证,即可,安装命令,bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) 具体参考 https://github.com/vaxilu/x-ui。测试亚马逊和腾讯的vps可行,其他未试

@Mczye
Copy link

Mczye commented Aug 27, 2023

手机有登录小爱同学,用的手机热点网络
在vsc 里面直接访问MiService-main 文件夹
直接把:
export MI_USER=
export MI_PASS=
写入到micli.py 里面,直接运行micli.py不加list,成功获取了

@yihong0618
Copy link
Owner

@Mczye nice 我把这个 issue 置顶

@yihong0618 yihong0618 pinned this issue Aug 27, 2023
@jjiikkkk
Copy link

手机有登录小爱同学,用的手机热点网络 在vsc 里面直接访问MiService-main 文件夹 直接把: export MI_USER= export MI_PASS= 写入到micli.py 里面,直接运行micli.py不加list,成功获取了

vsc是什么,这样的话,国内vps就应该可以用了是吧
还是说 必须用海外的vps

其实接通的方法有很多个,只是都不如云服务器方便

@Mczye
Copy link

Mczye commented Aug 29, 2023

手机有登录小爱同学,用的手机热点网络 在vsc 里面直接访问MiService-main 文件夹 直接把: export MI_USER= export MI_PASS= 写入到micli.py 里面,直接运行micli.py不加list,成功获取了

vsc是什么,这样的话,国内vps就应该可以用了是吧 还是说 必须用海外的vps

其实接通的方法有很多个,只是都不如云服务器方便

Visual Studio Code 简写打顺手了,Pycharm也可以

@Georege
Copy link

Georege commented Nov 20, 2023

windows下使用set 环境变量,然后运行micli list,如果密码包含特殊字符串 的确会报错
如果不想使用windows的wsl,可以安装git,使用右键的open git bash here,然后使用export 环境变量以后,执行micli list,虽然也报错,但是设备列表详情获取到了

@gaidan1983
Copy link

本地笔记本的wls可以执行到唤醒说出问题,但连不上openai,我配置了系统代理(微信机器人就可以正常连接使用)!用阿里云国内的服务器也是到这一步,再用国外的Azure服务器,就报错了login faild/////////怎么解决 image
看看是不是没有额度了,我出的错误提示Error code: 429 - {'error': {'message': 'You exceeded your current quota, please
check your plan and billing details.', 'type': 'insufficient_quota', 'param':
None, 'code': 'insufficient_quota'}}
后来API 充了5刀 可以了

@yihong0618
Copy link
Owner

本地笔记本的wls可以执行到唤醒说出问题,但连不上openai,我配置了系统代理(微信机器人就可以正常连接使用)!用阿里云国内的服务器也是到这一步,再用国外的Azure服务器,就报错了login faild/////////怎么解决 image
看看是不是没有额度了,我出的错误提示Error code: 429 - {'error': {'message': 'You exceeded your current quota, please
check your plan and billing details.', 'type': 'insufficient_quota', 'param':
None, 'code': 'insufficient_quota'}}
后来API 充了5刀 可以了

小爱回答这么生猛的么

@maopucheng
Copy link

我发现了一种可能性。
家里的网络,电信没有分配外网IP给你。现在电信默认给你分配了一个内网地址,没有公网地址。
我后来打电话给电信要求给一个外网IP,立刻就可以登录了。

@yihong0618
Copy link
Owner

可以的!

@waveboy800
Copy link

windows下使用set 环境变量,然后运行micli list,如果密码包含特殊字符串 的确会报错 如果不想使用windows的wsl,可以安装git,使用右键的open git bash here,然后使用export 环境变量以后,执行micli list,虽然也报错,但是设备列表详情获取到了

这个方式好

@p3psi-boo
Copy link

记录一下,一开始用 micli list 也是报错,然后用浏览器访问 mi.com 登录账号之后,再使用 micli 就可以了。推测是需要在同一个 ip 上操作。

@Duuckjing

This comment was marked as off-topic.

@yihong0618
Copy link
Owner

root@localhost:# micli list Exception on login None: &39;NoneType' object has no attribute &39;encode' Traceback (most recent call last): File &34;/usr/local/lib/python3.9/dist-packages/miservice/miaccount.py", line 65, in login &34;hash": hashlib.md5(self.password.encode()).hexdigest().upper(), AttributeError: &39;NoneType' object has no attribute &39;encode' Error 链接 Login failed root@localhost: export MI_USER=xxxxxxx root@localhost:# export MI_PASS=xxxxx root@localhost: micli list [ { "name&34;: "Router&34;, "model&34;: "xiaomi.router.r4a&34;, "did&34;: "xxxxxxxxxxxxxxxxxxxxxx&34;, "token&34;: "xxxxxxxxxx&34; } ]

try to login this https://cloud.mi.com/

@d0zingcat
Copy link

d0zingcat commented May 11, 2024

微信截图_20230328145536
登录失败,我检查了我的小米账号和密码没问题,我打印了登录的返回值,发现没有userId,是什么情况,我的小米账号需要配置什么嘛?

这个是因为海外登录,触发了双重验证。错误消息中的URL就是双重验证要求访问的地址。访问这个地址会先排除你是否是机器人,然后再给你的安全手机发一个短信验证码,短信验证码通过后,当前登录使用的IP才会到白名单上,下次不会再触发双重验证。

坑爹的是,在国内的服务器上,小米登录没问题,但访问 openai 有问题(搭梯子或使用代理都不方便)。在国外的服务器上,访问 openai 没问题了,但小米登录又触发双重验证了。这个双重验证目前必须人工进行。

我测试下来可能是因为我走了代理流量登陆的 所以就有问题了。
要解决也很简单,关闭所有代理,访问一下 https://mi.com 如果本来登陆的就退出,重新使用账号密码登陆一次。如果提示手机号是否还在用,则点还在用。
然后再尝试一下应该就拿得到设备 ID 列表了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests