Comments (23)
@SimonBaars Thanks! I will check for sure, although I can't use Garth directly because of the project language (c#) I will reimplement the same flow
from mi-scale-exporter.
Status update: With library OAuth.DotNetCore
I received proper oAuth1 token. I will do more tests during the weekend.
from mi-scale-exporter.
Status for today:
It looks like most of the open source 3rd party apps that connect to Garmin stopped working.
My findings:
Any action now require Authorization Bearer JWT Token
, new Cookie JWT_FGP=
, new Header Di-Backend: connectapi.garmin.com
the JWT Token can be obtained under https://connect.garmin.com/modern/di-oauth/exchange
it require 3 Cookies: __cflb=
, notice_behavior=implied,eu;
, SESSIONID=
. In response header I also receive JWT_FGP
Cookie
from mi-scale-exporter.
Progress update:
Login and upload of activity (weight) works already works as external lib. Now it's time to test it in Android.
from mi-scale-exporter.
Thank you. On Scale part nothing changed so should work fine. In near future I will add some retry policy to it because I can see it can don't work randomly.
Anyway I'm happy We won with Garmin and connection is working Again.
from mi-scale-exporter.
Yup. 9/10 it works like that. Which is okay-ish...? :)
I also noticed that I'm able to send data only one time. If I hit "send" second, third etc time (with different data and day) I'm getting this:
from mi-scale-exporter.
For now I must be ok :/ In free time, I will rewrite the Garmin Connect part. But it will take some time. I wanted to release the fix asap even if it's not perfect.
from mi-scale-exporter.
Hi @lmerhay !
Thanks for the report. I have the same error and it looks like Garmin has changed something in the way I log in. I'll look into it today to investigate.
from mi-scale-exporter.
from mi-scale-exporter.
pe-st/garmin-connect-export#95
from mi-scale-exporter.
I implemented a solution for this problem in related Python repositories:
Since I don't know much about this repo, I don't know what exact auth method is used, but I figure a similar solution could work.
from mi-scale-exporter.
Progress update: Login and upload of activity (weight) works already works as external lib. Now it's time to test it in Android.
Thanks! if you can provide the APK I could give it a try in Android.
from mi-scale-exporter.
Ok I fixed the App. It works on an emulator and my phone. Package was sent to Google Play Store to check and certificate and should be available to update within 24h.
.AAB and .APK installers are available here https://github.com/lswiderski/mi-scale-exporter/releases/tag/v2.0.8
@jesuslg123 Please check.
Any confirmation or bug report is welcome.
from mi-scale-exporter.
Progress update: Login and upload of activity (weight) works already works as external lib. Now it's time to test it in Android.
https://github.com/lswiderski/GarminWeightScaleUploader/blob/master/Libs/garmin-connect-client/GarminConnectClient.Lib/Services/Client.csThanks! if you can provide the APK I could give it a try in Android.
I don't have the scale now but I did try to upload the data from previous days and this morning and it is failing with 3 different errors, one after each attempt.
Any idea?
from mi-scale-exporter.
Thank you. I need to work on more detailed logs. Error about expected pattern means that Garmin somehow did not authenticated you. Do you have MFA/2FA turned off? What version of Android do you use? The weight did not uploaded in background?
from mi-scale-exporter.
Thanks for the support. Something interesting happened. I did restart the phone and worked fine this time.
May the Google play version kept running some service when I did remove to install the GitHub version?
Now works uploading manually. Automatically with the scale I can not test right now, sorry
from mi-scale-exporter.
In my case, I was able to send weight alone. When other values are present, I'm getting the same message as @jesuslg123 on 2nd and 3rd screenshot.
I tried resend like... 20 times. I'm persistent... :P
from mi-scale-exporter.
Tbh I don't think this issue is resolved... :(
from mi-scale-exporter.
@SirYaro Ohh I will investigate more
from mi-scale-exporter.
@SirYaro I got the same error when I'm back to opened app. When I closed (kill) and opened again, stand on scale, get measurement and uploaded with success.
from mi-scale-exporter.
404 sounds as if it is trying to reach out to a URL unauthenticated. The new method only works for oauth2 authenticated endpoints, not for scraping webpages.
@lswiderski Do you have a list of Garmin URLs that the app tries to access?
from mi-scale-exporter.
@SimonBaars The problem was with the way of use of the Garmin client. Everytime when upload is done, method is trying to authenticate the user. On the second time, the auth headers was already there and the initial url was returning 404 (https://connect.garmin.com/modern/auth/hostname). Hotfixed it in 2.0.9 by clearing the headers of the http client.
from mi-scale-exporter.
As I can see on version 2.0.9 I don't have that problems anymore, So I'm closing this issue.
from mi-scale-exporter.
Related Issues (20)
- Can't export data from Mi Body Composition Scale 2 / Android 12 issue HOT 12
- App cannot get data from my scale XMTZC05HM HOT 25
- Cannot install with Google advanced protection HOT 5
- What is the proxy needed for? HOT 1
- Can't input decimal numbers manually HOT 3
- No longer syncing with Garmin (with 2FA enabled) HOT 4
- Visceral fat value is rounded to integer HOT 2
- I can't connect to Scale - Bluetooth Permision problem ( SSL certifikate problem resolved) HOT 10
- Can’t upload data HOT 2
- Error 502 when try upload to Garmin cloud HOT 3
- "age_label" string in Metabolic age column HOT 3
- Error during the upload to Garmin (Android 14) HOT 23
- Mi Smart Scale 2 HOT 4
- Body Composition Scale 2 Crash HOT 3
- Data could not be obtained HOT 11
- Crash when starting the first scale "get values" HOT 4
- Removing dependency on the webapi - Feature request HOT 23
- UI improvement HOT 8
- Wrong data from scale HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mi-scale-exporter.