It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
Yepoleb: Use the products endpoint with downloads expanded and follow the downlink to get the chunklist and file URL.

Example:
https://api.gog.com/products/1433856545?expand=downloads
Iterate the files to get the downlink
https://api.gog.com/products/1433856545/downlink/installer/en1installer0
Request it to get the file url, make sure you're authenticated
https://cdn.gog.com/secure/unreal_tournament_2004_ece/pc/setup_ut2004_2.0.0.6.exe?a3c669cc2530fcf... (Wrong file for the product ID, but you get the point)
avatar
Kalanyr: This only seems to yield the installers without Galaxy included ?
Yes, as noted in my edit, I misread the question. I don't know of any way to get the installers including Galaxy using the Galaxy API. What's stopping you from using the account API? Maybe if you give a bit more background we can find an alternative solution.
avatar
Kalanyr: This only seems to yield the installers without Galaxy included ?
avatar
Yepoleb: Yes, as noted in my edit, I misread the question. I don't know of any way to get the installers including Galaxy using the Galaxy API. What's stopping you from using the account API? Maybe if you give a bit more background we can find an alternative solution.
I'm sort of maintaining a fork of gogrepo while woolly is away. Trying to use the API to cut down on the connections and required wait time to not get temporarily blocked for looking like a DDOS attack. I really don't want to have to maintain a separate version with Galaxy installer support or write some horrendous frankenstein hybrid that checks the account API if Galaxy installers are selected.
avatar
Kalanyr: Trying to use the API to cut down on the connections and required wait time to not get temporarily blocked for looking like a DDOS attack.
You still have to be careful though, you can also get a temporary block by over-stressing the APIs - it happened to me twice, albeit it's rather rare. What you'll run across more often is the APIs returning HTTP error codes back at you whenever you've exceeded the GOGBear police speed limit.
I found this interesting github page:
https://github.com/toddmotto/public-apis

I'd contribute to the project by trying to add the documentation of the GOG API but instead of doing it by adding an issue to the repository, it has to be done by forking and pull requests which is something I'm not familiar with. If someone could get the contributors of the list to add the documentation it would be pretty darn nice.

Just saying.
avatar
PookaMustard: I found this interesting github page:
https://github.com/toddmotto/public-apis

I'd contribute to the project by trying to add the documentation of the GOG API but instead of doing it by adding an issue to the repository, it has to be done by forking and pull requests which is something I'm not familiar with. If someone could get the contributors of the list to add the documentation it would be pretty darn nice.

Just saying.
The site is specifically for public APIs. I don't think the GOG API fits that definition, as it's not meant to be used by people outside of CD Projekt. This unofficial documentation does not count, because it's written by a third party.
avatar
PookaMustard: I found this interesting github page:
https://github.com/toddmotto/public-apis

I'd contribute to the project by trying to add the documentation of the GOG API but instead of doing it by adding an issue to the repository, it has to be done by forking and pull requests which is something I'm not familiar with. If someone could get the contributors of the list to add the documentation it would be pretty darn nice.

Just saying.
avatar
Yepoleb: The site is specifically for public APIs. I don't think the GOG API fits that definition, as it's not meant to be used by people outside of CD Projekt. This unofficial documentation does not count, because it's written by a third party.
iirc GOG openly stated that they are fine with people using the API (assuming they can figure it out) and develop their own client. They just don't make any promises not break the API since it is still in development.
avatar
Yepoleb: The site is specifically for public APIs. I don't think the GOG API fits that definition, as it's not meant to be used by people outside of CD Projekt. This unofficial documentation does not count, because it's written by a third party.
avatar
immi101: iirc GOG openly stated that they are fine with people using the API (assuming they can figure it out) and develop their own client. They just don't make any promises not break the API since it is still in development.
Apart from that, everything else points in the direction of it being a closed API. Most importantly that you can't request your own OAuth credentials and have to use the ones from the official client, which is not how OAuth is supposed to work. Being able to request your own key is essential to a public API. Check out every other site on that list and you see the difference in openness.
Post edited July 17, 2017 by Yepoleb
avatar
immi101: iirc GOG openly stated that they are fine with people using the API (assuming they can figure it out) and develop their own client. They just don't make any promises not break the API since it is still in development.
avatar
Yepoleb: Apart from that, everything else points in the direction of it being a closed API. Most importantly that you can't request your own OAuth credentials and have to use the ones from the official client, which is not how OAuth is supposed to work. Being able to request your own key is essential to a public API. Check out every other site on that list and you see the difference in openness.
What did GOG say about it? Since they claimed indeed that they are supportive of community clients, how are they supposed to work?
avatar
Yepoleb: Apart from that, everything else points in the direction of it being a closed API. Most importantly that you can't request your own OAuth credentials and have to use the ones from the official client, which is not how OAuth is supposed to work. Being able to request your own key is essential to a public API. Check out every other site on that list and you see the difference in openness.
avatar
shmerl: What did GOG say about it? Since they claimed indeed that they are supportive of community clients, how are they supposed to work?
I've been wanting to get in contact with them for while, but never got around to it. "Supportive" is probably too strong, I interpreted their stance as basically "just do what you want, we don't care". So they most likely didn't think about community clients when designing the auth flow. You could try requesting access to their dev portal, I may give it a try as well, if I finally find the motivation to write an email.
Late update: No developer account / API keys for non-partners.

I've also pushed a few minor correction and finally an update of the authentication flow, which should be live already.
avatar
Yepoleb: Late update: No developer account / API keys for non-partners.
Yeah, that's not nice of them. One way to deal with it, is to create a formal community FOSS project that will become an official developer partner.
Post edited August 23, 2017 by shmerl

GET /user/data/games

GET /account/getFilteredProducts
might be worth pointing out in the documentation that the former method returns all owned ids, including bundle ids (game_type == pack) and DLCs.
While the latter only returns individual games (as listed on the game shelf), no packs, no DLCs


this gives access to the xdelta patches that GOG introduced in recent Galaxy builds

GET content-system.gog.com/products/<product id>/patches?from_build_id=<build_id>&to_build_id=<build_id>&_version=4
avatar
immi101: GET /user/data/games
GET /account/getFilteredProducts
GET content-system.gog.com/products/<product id>/patches?from_build_id=<build_id>&to_build_id=<build_id>&_version=4
Could you add these changes yourself? I'm already working on two other GOG projects and want to focus on them. Source is at https://github.com/Yepoleb/gogapidocs
avatar
Yepoleb: Apart from that, everything else points in the direction of it being a closed API. Most importantly that you can't request your own OAuth credentials and have to use the ones from the official client, which is not how OAuth is supposed to work. Being able to request your own key is essential to a public API. Check out every other site on that list and you see the difference in openness.
avatar
shmerl: What did GOG say about it? Since they claimed indeed that they are supportive of community clients, how are they supposed to work?
I think it's been a long time since they've claimed that and we haven't heard them reinforce their earlier claims of supporting community made clients in a long time now. I think it is safe to say that they no longer entertain the idea of supporting community made clients nor having a publicly documented API for developers to use, and that they will restrict any APIs they do have to developers that they sign contracts to partner with at their discretion.

That's what all visible evidence appears to suggest from outside of GOG looking in anyway. If it isn't the case then it would be nice for them to be transparent about it and issue a public statement sometime soon to indicate if they are indeed dedicated to fulfilling their promise of providing a publicly documented API that 3rd parties can use for making their own clients.

IMHO, they're more likely to just maintain complete radio silence if they've had a change of heart on this and all they would have to say are things that would be of grave disappointment to the community by renegging on their prior commitments.
avatar
immi101: GET /user/data/games
GET /account/getFilteredProducts
GET content-system.gog.com/products//patches?from_build_id=&to_build_id=&_version=4
avatar
Yepoleb: Could you add these changes yourself?
i'll give it a try. time to learn how to ... sphinx :)