boncey / Flickr4Java

Java API For Flickr. Fork of FlickrJ
BSD 2-Clause "Simplified" License
174 stars 155 forks source link

Flickr User Agent requirement !!! #695

Closed Marfir closed 1 year ago

Marfir commented 1 year ago

Subject of the issue

"We will begin to require a user agent header on all API calls. Specifically, your calls will need to provide a “User-Agent” header, and the header needs to have a value that roughly describes your client. A good header for a client might look like “User-Agent: MySetManager/2.3” or “User-Agent: PHP_Flickr/1.0”. We believe this change will help us better manage traffic and improve our overall API availability."

see https://www.flickr.com/groups/api/discuss/72157721918374433/

Your environment

Expected behaviour

User-Agent header is set in class "REST" inside of the "get" Method. The name and the version of the App needs to be injected (e.g. by method parameter, class constructor parameter etc.).

e.g. request.addHeader("User-Agent", AppNameFromSomewhere + "/" + AppVersionFromSomewhere);

Actual behaviour

no User-Agent is set

Marfir commented 1 year ago

@boncey @callmeal Please can you adopt the required API change? Flickr team will be test it in March and April before they try to block any requests without a User-Agent header.

boncey commented 1 year ago

Hello @Marfir. Thanks for letting me know about this. Unfortunately, I’m on holiday at the moment without a laptop so this will have to wait until I get back in a week or so.

I will look at it when I return.

Marfir commented 1 year ago

Thx for your super fast response! No problem. Have a nice holiday :-)

Marfir commented 1 year ago

Update After a shit storm from the community they step back from their plan:

`Dear valued community members,

We wanted to reach out to you to apologize for the recent announcement of a new requirement for requiring User-agents to API requests. We understand that this news may have caused concern and inconvenience, and we wanted to take a moment to address your feedback.

After careful consideration and review of your feedback, we have decided not to proceed with the launch of this requirement. We recognize that it would have had a significant impact on existing implementations and legacy systems. Our team had hoped that this requirement would have had a positive impact on our community, but we understand that it would have been too disruptive for many of our users.

We take responsibility for not fully understanding the impact of this requirement before announcing it, and we sincerely apologize for any confusion or disruption it may have caused. We are committed to listening to your feedback and doing our best to meet the needs of our community.

Once again, we apologize for any inconvenience caused, and we thank you for your understanding and continued support.`

But I prefer to add the User-Agent header independent of their recent announcement. It's a small and easy change and this lib will be save for the future.

boncey commented 1 year ago

You can now provide a User-Agent or else it uses the default. Available in version 3.0.7 Details in the README.