The Works API serves to get information pertaining to a work and its editions.
For more usage examples of this API, see WorkAPIExamples.
OLWork serves to combine storage of the various requests supported by the works API.
It contains data about the work as well as its ratings, bookshelves and a collection of its editions.
Get a populated instance of OLWork using OpenLibraryClient and a valid works's OLID (be aware this will make multiple requests):
OpenLibraryClient client = new OpenLibraryClient();
OLWork work = await client.GetWorkAsync("OL257943W", 10);
Alternatively, you can make individual requests using the OpenLibraryClient
var parameters = new List<KeyValuePair<string, string>>() { ... };
OLWorkData workData = await client.Work.GetDataAsync("OL257943W");
OLEditionData[] editions = await client.Work.GetEditionsAsync("OL257943W", parameters);
OLRatingsData ratings = await client.Work.GetRatingsAsync("OL257943W");
OLBookshelvesData bookshelves = await client.Work.GetBookshelvesAsync("OL257943W");
or using the static OLWorkLoader class.
HttpClient httpClient = new HttpClient();
OLWorkData workData = await OLWorkLoader.GetDataAsync(httpClient, "OL257943W");
OLEditionData[] editions = await OLWorkLoader.GetEditionsAsync(httpClient, "OL257943W", parameters);
OLRatingsData ratings = await OLWorkLoader.GetRatingsAsync(httpClient, "OL257943W");
OLBookshelvesData bookshelves = await OLWorkLoader.GetBookshelvesAsync(httpClient, "OL257943W");
For valid parameters, see the link above. Alternatively, see OpenLibraryUtility's Maps.