Skip to content

Commit

Permalink
docs(services/gdrive): update doc
Browse files Browse the repository at this point in the history
Signed-off-by: suyanhanx <suyanhanx@gmail.com>
  • Loading branch information
suyanhanx committed Aug 29, 2023
1 parent 451286b commit 00a1ff5
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 16 deletions.
5 changes: 3 additions & 2 deletions core/src/services/dropbox/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,11 @@ use crate::*;
/// - [x] read
/// - [x] write
/// - [x] delete
/// - [ ] copy
/// - [ ] create
/// - [x] create_dir
/// - [ ] list
/// - [ ] copy
/// - [ ] rename
/// - [x] batch
///
/// # Notes
///
Expand Down
47 changes: 33 additions & 14 deletions core/src/services/gdrive/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,47 +39,66 @@ use crate::*;
///
/// This service can be used to:
///
/// - [x] stat
/// - [x] read
/// - [x] write
/// - [x] delete
/// - [ ] copy
/// - [ ] create
/// - [x] create_dir
/// - [ ] list
/// - [ ] copy
/// - [ ] rename
/// - [ ] batch
///
/// # Notes
///
///
/// # Configuration
///
/// - `access_token`: set the access_token for google drive api
/// - `root`: Set the work directory for backend
///
/// ## Credentials related
///
/// ### Just provide Access Token (Temporary)
///
/// - `access_token`: set the access_token for google drive api
/// Please notice its expiration.
///
/// ### Or provide Client ID and Client Secret and refresh token (Long Term)
///
/// If you want to let OpenDAL to refresh the access token automatically,
/// please provide the following fields:
///
/// - `refresh_token`: set the refresh_token for google drive api
/// - `client_id`: set the client_id for google drive api
/// - `client_secret`: set the client_secret for google drive api
///
/// OpenDAL is a library, it cannot do the first step of OAuth2 for you.
/// You need to get authorization code from user by calling GoogleDrive's authorize url
/// and exchange it for refresh token.
///
/// Make sure you have enabled Google Drive API in your Google Cloud Console.
/// And your OAuth scope contains `https://www.googleapis.com/auth/drive`.
///
/// Please refer to [GoogleDrive OAuth2 Flow](https://developers.google.com/identity/protocols/oauth2/)
/// for more information.
///
/// You can refer to [`GdriveBuilder`]'s docs for more information
///
/// # Example
///
/// ## Via Builder
///
/// ```no_run
/// ```rust
/// use anyhow::Result;
/// use opendal::services::Gdrive;
/// use opendal::Operator;
///
/// #[tokio::main]
/// async fn main() -> Result<()> {
/// // create backend builder
/// let mut builder = Gdrive::default();
/// builder.root("/test");
/// builder.access_token("<token>");
///
/// builder.access_token("xxx").root("/path/to/root");
///
/// let op: Operator = Operator::new(builder)?.finish();
///
/// let write = op.write("abc.txt", "who are you").await?;
/// let read = op.read("abc.txt").await?;
/// let s = String::from_utf8(read).unwrap();
/// println!("{}", s);
/// let delete = op.delete("abc.txt").await?;
/// Ok(())
/// }
/// ```
Expand Down

0 comments on commit 00a1ff5

Please sign in to comment.