[][src]Crate letterboxd

This module wraps the Letterboxd API which provides easy and flexible access to data on the Letterboxd.com website.

Client's API follows the following rules:

  • All Letterboxd API calls are asynchronous.
  • Each method takes an optional argument token, which enabled authentication for the call.
  • Except for GET calls all methods include a path parameter.

Further, most of Client's methods take a request struct, which is then serialized to url encoded parameters and return a response type, which is deserialized from JSON. However, some methods omit the request or/and the response struct.

Entities are identified in the API by Letterboxd ID (or LID), an alpha-numeric string value that is returned where appropriate. For films, lists and reviews, the LID can also be found through the Letterboxd website as the path portion of the entity’s shareable boxd.it link.

For more information, cf. API docs at http://api-docs.letterboxd.com

Example

let client = letterboxd::Client::new(api_key, api_secret);

let get_token = client.auth(&USERNAME, &PASSWORD);
let req = letterboxd::FilmRelationshipUpdateRequest {
    watched: Some(true),
    ..Default::default()
};
let do_update = |token| {
    client.update_film_relationship("2a9q", &req, &token) // Fight Club
};
// execute on some runtime, e.g. with:
let mut core = tokio_core::reactor::Core::new().unwrap();
core.run(get_token.and_then(do_update)).unwrap();

Macros

DELETE
GET
PATCH
POST

Structs

AccessToken
Client
CommentCreationRequest
Contributor
ContributorSummary
DiaryDetails
Error
Film
FilmAvailability
FilmAvailabilityResponse
FilmContributions
FilmIdentifier
FilmRelationship
FilmRelationshipUpdateRequest

When PATCHing a film relationship, you may send all of the current property struct values, or just those you wish to change. Properties that violate business rules (see watched below) or contain invalid values will be ignored.

FilmRelationshipUpdateResponse
FilmServicesResponse
FilmStatistics
FilmStatisticsCounts
FilmSummary
FilmTrailer
FilmsRequest
FilmsResponse
Genre
GenresResponse
Image
ImageSize
List
ListCreateEntry
ListCreateResponse
ListCreationRequest
ListEntriesRequest
ListEntriesResponse
ListEntry
ListEntrySummary
ListIdentifier
ListSummary
ListUpdateEntry
ListUpdateRequest
ListUpdateResponse
ListsRequest
ListsResponse
LogEntry
MemberFilmRelationship
MemberFilmRelationshipsRequest
MemberFilmRelationshipsResponse
MemberSummary
Pronoun
RatingsHistogramBar
Review
SearchRequest
SearchResponse
Service
Tag

Enums

AbstractSearchItem
ContributionType
Country
FilmAvailabilityService
FilmRelationshipType
FilmRelationshipUpdateMessage
FilmRelationshipUpdateMessageCode
FilmRequestSort
FilmStatus
IncludeFriends
Link
ListCreateMessage
ListCreateMessageCode
ListEntriesRequestSort
ListMemberRelationship
ListRequestFilter
ListRequestSort
ListStatus
ListUpdateMessage
ListUpdateMessageCode
MemberFilmRelationshipsRequestSort
MemberStatus
SearchMethod
SearchResultType
ThirdPartyService
WatchlistSort

Type Definitions

Cursor

A cursor is a String value provided by the API. It should be treated as an opaque value — don’t change it.