pub struct FlickrAPI { /* private fields */ }
Expand description
API client
Implementations§
Source§impl FlickrAPI
impl FlickrAPI
Sourcepub async fn login(self) -> Result<Self, Box<dyn Error>>
pub async fn login(self) -> Result<Self, Box<dyn Error>>
Top-level method enacting the procesure to receive an access token from a set of API keys
This method opens an HTTP server on port 8200. It will log an url to connect to for the user to
accept the token, as well as use a generic open method to open the webpage (open
on macos and
xdg-open
on linux)
Examples found in repository?
examples/login.rs (line 30)
25async fn main() -> Result<(), Box<dyn Error>> {
26 let client = FlickrAPI::new(ApiKey {
27 key: prompt("API key: "),
28 secret: prompt("API secret: "),
29 })
30 .login()
31 .await?;
32
33 let user = client.test().login().await?;
34
35 println!("Successfully logged in as {} ({})", user.username, user.id);
36
37 Ok(())
38}
More examples
examples/upload.rs (line 36)
27async fn main() -> Result<(), Box<dyn Error>> {
28 let arg = env::args().nth(1).unwrap();
29 let path = Path::new(&arg);
30 println!("Uploading {path:?}");
31
32 let client = FlickrAPI::new(ApiKey {
33 key: prompt("API key: "),
34 secret: prompt("API secret: "),
35 })
36 .login()
37 .await?;
38
39 let id = client.photos().upload_from_path(&path).await?;
40 println!("Uploaded {path:?} and was given {id}");
41
42 Ok(())
43}
Source§impl FlickrAPI
impl FlickrAPI
Sourcepub fn new(key: ApiKey) -> Self
pub fn new(key: ApiKey) -> Self
Examples found in repository?
examples/login.rs (lines 26-29)
25async fn main() -> Result<(), Box<dyn Error>> {
26 let client = FlickrAPI::new(ApiKey {
27 key: prompt("API key: "),
28 secret: prompt("API secret: "),
29 })
30 .login()
31 .await?;
32
33 let user = client.test().login().await?;
34
35 println!("Successfully logged in as {} ({})", user.username, user.id);
36
37 Ok(())
38}
More examples
examples/upload.rs (lines 32-35)
27async fn main() -> Result<(), Box<dyn Error>> {
28 let arg = env::args().nth(1).unwrap();
29 let path = Path::new(&arg);
30 println!("Uploading {path:?}");
31
32 let client = FlickrAPI::new(ApiKey {
33 key: prompt("API key: "),
34 secret: prompt("API secret: "),
35 })
36 .login()
37 .await?;
38
39 let id = client.photos().upload_from_path(&path).await?;
40 println!("Uploaded {path:?} and was given {id}");
41
42 Ok(())
43}
pub fn with_token(self, token: OauthToken) -> Self
pub fn token(&self) -> Option<OauthToken>
Sourcepub fn photos(&self) -> PhotoRequestBuilder
pub fn photos(&self) -> PhotoRequestBuilder
Examples found in repository?
examples/upload.rs (line 39)
27async fn main() -> Result<(), Box<dyn Error>> {
28 let arg = env::args().nth(1).unwrap();
29 let path = Path::new(&arg);
30 println!("Uploading {path:?}");
31
32 let client = FlickrAPI::new(ApiKey {
33 key: prompt("API key: "),
34 secret: prompt("API secret: "),
35 })
36 .login()
37 .await?;
38
39 let id = client.photos().upload_from_path(&path).await?;
40 println!("Uploaded {path:?} and was given {id}");
41
42 Ok(())
43}
Sourcepub fn test(&self) -> TestRequestBuilder
pub fn test(&self) -> TestRequestBuilder
Examples found in repository?
examples/login.rs (line 33)
25async fn main() -> Result<(), Box<dyn Error>> {
26 let client = FlickrAPI::new(ApiKey {
27 key: prompt("API key: "),
28 secret: prompt("API secret: "),
29 })
30 .login()
31 .await?;
32
33 let user = client.test().login().await?;
34
35 println!("Successfully logged in as {} ({})", user.username, user.id);
36
37 Ok(())
38}
Auto Trait Implementations§
impl Freeze for FlickrAPI
impl !RefUnwindSafe for FlickrAPI
impl !Send for FlickrAPI
impl !Sync for FlickrAPI
impl Unpin for FlickrAPI
impl !UnwindSafe for FlickrAPI
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more