Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

any changes or corrections on the server side

Hello all,

Our Project developed an application using the web API.

Using OKhttp and communicating with HTTP / 2 protocol, an error has occurred.

Our application has not been modified, but it has been inaccessible for several days.

Have there been any changes or corrections on the server side?

Best Answer
0 Votes
10 REPLIES 10

@hiroko_a would you mind please providing more details about what has happened?

 

In particular: 

 - when the issue has started?

 - what requests are affected?

 - how the requests that you're making look like

 - what the response look like? (headers/body/response code)

 

Best Answer
0 Votes

@IoanbsuFitbitThank you for your answer.

 

 - when the issue has started?
  It's from February 22 at the latest

 - what requests are affected?
  ・Access Token Request API(in the Authorization Code Grant flow)
  ・Activity Time Series API
   (both GET /1/user/[user-id]/[resource-path]/date/[date]/[period].json and
    GET /1/user/[user-id]/[resource-path]/date/[base-date]/[end-date].json)

 - how the requests that you're making look like
  <Access Token Request API request>
  -Header-----
  :method POST
  :path /oauth2/token
  :authority api.fitbit.com
  :scheme https
  authorization Basic [base64 encoded 'clientId:clientSecret']
  content-type application/x-www-form-urlencoded
  content-length 142
  accept-encoding gzip
  user-agent okhttp/3.3.0

  -body------
  code=[authorization code]&redirect_uri=[my redirectUri]&grant_type=authorization_code&client_id=[my client Id]


 - what the response look like? (headers/body/response code)
  The following error occurred and the response could not be received.
  RetroFit(OKHttp)から「java.net.ProtocolException: Expected':status'header not present」
 
 
  Since there were articles like the following, I think that something changed on the server side.
  https://stackoverflow.com/questions/46807237/protocolexception-expected-status-header-not-present

 

 

Best Answer
0 Votes

@hiroko_a thank you for the information.

 

Your request looks correct to me. The error response though seems to be related to internal details implementation of your library. I'd highly recommend validating that request works when you do it with curl:

curl -X POST -i -H 'Authorization: Basic base64Encoded(appId:secret)' -d "grant_type=INSERT_GRANT_TYPE" -d "param1=value1" -d "otherparams=ifNeeded" https://api.fitbit.com/oauth2/token

Curl-ing will help to shed some light on if it is something wrong with Fitbit backend or there is an issue with the library that you're using. Please let me know if curl-ing works for you or not.

 

Best Regards.

Ivan.

Best Answer
0 Votes

@IoanbsuFitbitFitbitThank you for your suggestion.


We recognize that it is a problem occurring on the Retrofit side, not on the Fitbit side.
(Retrofit did not communicate at http / 2.
 Due to isolate the cause, we confirmed that communication was successful only by changing to http 1.1.
 We also confirmed server response reception in Curl.)

Then I would like to ask if there was a server update etc. on Fitbit side which could have an effect on the communication failure of http / 2.

 

Please let me know if Fitbit's server was updated or modified.

 

Hiroko

Best Answer
0 Votes

@hiroko_a I'm not aware of any server changes that would've affected the communication failure of http / 2.

Best Answer
0 Votes

@IoanbsuFitbit

Would you please contact with someone who knows the status of the server? Because the customer is required to identify the cause. Temporary countermeasure to the problem I'm thinking of addressing HTTP 2 with HTTP 1.1, Are there any concerns for the server side? Please tell me.

 

Best Answer
0 Votes

@SunsetRunner I've checked with infrastructure representatives who are responsible for http 2 support. The Fitbit backend servers has not changed in regards to http 2 protocol recently.

I represent API Infrastructure team and to my best knowledge there were no changes in regards to http 2 protocol recently.

 

Please let me know if you have any other questions.

 

Best Answer
0 Votes

@IoanbsuFitbitThankyou for your confirmation.

Would you please let me know if updates and modifications of the server are being carried out regardless of the part affecting HTTP 2.

Best Answer
0 Votes

@hiroko_a our backend is constantly improving and we are deploying updates to our backend several times a week. How ever I don't think any of recent changes that we've made last week on our side may have caused the issues you're seeing with HTTP 2.

Once thing worth noting: we are using cloudflare as our thrid party frontend service and they recently announced that they will be deprecating SPDY. Please check out this article: https://blog.cloudflare.com/deprecating-spdy/

Best Answer
0 Votes

@IoanbsuFitbit

We will also consider communication with the front end.
Also, please contact us if you think anything that could affect this case.
Thank you very much for your continued support so far.

Best Answer
0 Votes