Bài viết này hướng dẫn lấy các thông tin cần thiết và cài đặt source code Thao tác với Google Drive API sử dụng ASP.NET Core
Chuẩn Bị
Các bạn cần chuẩn bị các đồ nghề sau:
- - Tài khoản Google Drive
- - Postman (Download Tại Đây)
- - .NET Core 6 (Download Tại Đây)
- - Visual Studio 2022 hoặc Rider (Xem cách Crack Rider TẠI ĐÂY
-
Tạo Client ID & Client Secret
Chỗ này quan trọng các bạn làm theo từng bước như mình nhé
Đầu tiên truy cập vào https://console.cloud.google.com/getting-started

Chọn Select a project -> New Project

Nhập tên Project và nhận Create

Chọn Project vừa tạo rồi tìm kiếm Gmail API

Tại màn hình này các bạn chon Enable

Tiếp theo các bạn chon Oauth consent screen -> External -> Create

Điền các thông tin cho mục Oauth consent screen.
Lưu ý: App name không được chứa các tên các sản phẩm của Google. VD: Gmail, Google,...

Mục Scopes các bạn chọn như hình trên nhé

Tiếp đến là tạo Client ID và Client Secret ở mục Credentials -> OAuth client ID

Tại màn hình này các bạn điền các thông tin giống như mình. Ở mục Authorized Redirect URIs các bạn để URL nào cũng được, kể cả Localhost vẫn đc nhé.
Còn mình thì dùng đồ nhà bằng tên Website của mình luôn 😁

Click vào icon download các bạn sẽ thấy Client ID và Client Secret vừa tạo

Các bạn lưu 2 thông tin Client ID và Client Secret lại để dùng sau.
Bây giờ hãy Publish App như sau:

Lấy Access Code
Để sử dụng được Gmail API thì trước hết chúng ta cần lấy được Access Token của tài khoản Gmail.
Các bạn mở trình duyệt web lên và truy cấp vào URL cùng các tham số như sau:
https://accounts.google.com/o/oauth2/auth?client_id=YOUR_CLIENT_ID&response_type=code&approval_prompt=force&access_type=offline&redirect_uri=YOUR_REDIRECT_URI&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.file+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.appdata&include_granted_scopes=true
Chú ý thay thế:
- - YOUR_CLIENT_ID: Client ID vừa tạo ở trên
- - YOUR_REDIRECT_URI: Chình là Authorized Redirect URIs ở trên
-
Để chắc chắn không copy và điền sai thông tin URL các bạn có thể sử dụng Tool URL Parser để Build URL bằng cách truy cập https://www.progcoder.com/tool/url-parser

https://accounts.google.com/o/oauth2/auth?client_id=YOUR_CLIENT_ID&response_type=code&approval_prompt=force&access_type=offline&redirect_uri=YOUR_REDIRECT_URI&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.file+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.appdata&include_granted_scopes=true
Paste URL trên vào mục thẻ Input -> Nhấn Parser -> Tại mục Query String Click button Edit -> Tiếp tục nhấn Build URL -> Cuối cùng hãy Copy lại URL ở phần Input.
Mở trình duyệt web và truy cấp vào URL vừa Copy.

Chọn đúng tài khoản bạn vừa dùng để tạo ở trên nhá.

Cảnh báo nhưng kệ cứ tiếp tục nhá các bạn

Chọn tất cả và nhấn tiếp tục nhé
Sau khi nhấn tiếp tục và thành công Google sẽ Redirect bạn về đúng URI mà bạn đã cung cấp ở trên kèm với một mã code như sau

Các bạn Copy mã Code và lưu lại.
Tránh tình trạng Copy sai value phần code thì các bạn có thể truy cập Tool URL Parser tại https://www.progcoder.com/tool/url-parser và làm như bước trên 😅
Lấy refresh_token
Sau khi lấy được Access Code như ở trên. Các bạn sử dụng Postman để lấy refresh_token bằng URL với Method là POST:
https://accounts.google.com/o/oauth2/token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_SECRET_ID&redirect_uri=https://www.progcoder.com&grant_type=authorization_code&code=YOUR_ACCESS_CODE
Kết quả sau khi request:

Các bạn lưu refresh_token lại nhá.
Vậy là chúng ta đã lấy được Client ID, Client Secret và Refresh Token để phục vụ source code bài viết Thao tác với Google Drive API sử dụng ASP.NET Core
Bây giờ các bạn mở file appsettings.json và sửa lại Client ID, Client Secret và Refresh Token mà các bạn vừa lấy được ở các bước trên nhé
"GoogleAPI": {
"Drive": {
"DriveApiUrl": "https://www.googleapis.com",
"Oauth2Url": "https://oauth2.googleapis.com",
"RefreshToken": "YOUR_REFRESH_TOKEN",
"ClientID": "YOUR_CLIENT_ID",
"ClientSecret": "YOUR_CLIENT_SECRET",
"GrandType": "refresh_token"
}
},
Thay đổi xong thì run source và tận hưởng thành quả thôi :D