- vừa được xem lúc

Oauth2 and Youtube channel's videos crawler

0 0 12

Người đăng: logbasex

Theo Viblo Asia

I. Introduction

Chuyện là mình muốn crawl tất cả video của một channel youtube về nghịch chơi nhưng không ngờ là để crawl được thì cũng khá loằng ngoằng nên tiện tay biên một bài rồi lỡ sau này nếu mà có quên thì còn tìm lại được =))

Vì Youtube có cung cấp API chính thống nên mình sẽ không dùng tool scraper mà sẽ dùng YouTube Data API v3 để thực thi việc crawl này.

Ban đầu mình sẽ gọi thử API để xem kết quả thế nào nhé.

Nicely done!! Và đây là cách hướng dẫn lấy channelId trong đoạn video trên nhé ạ.

II. Credentials

Như demo ở trên thì với tính năng Try this method của YouTube Data API v3 chúng ta đã lấy được danh sách videos của channel. Nhưng ở phần credentials đang check ở cả hai option là Google Oauth 2.0API key, chúng ta hãy đi xem liệu chúng ta có cần cả hai loại không để đỡ tốn công làm nhé.

Nếu việc lấy danh sách videos từ channelId cần một trong số những scopes đặc biệt dưới đây thì chúng ta phải sử dụng Google Oauth 2.0.

Rõ ràng là chúng ta không cần scope nào cả =)) Thế nên giờ đi đăng kí API key là được.

III. API key

Setting up API keys thì đã có nhiều bài hướng dẫn rồi nên mình sẽ không viết lại nữa, mọi người có thể xem ở đây và ở đây nhé ạ.

Sau khi làm theo hướng dẫn thì mình cũng đã có thành quả 👋👋👋.

API example.

curl --location --get 'https://youtube.googleapis.com/youtube/v3/search?' \
-d part=snippet \
-d channelId=UC6yW44UGJJBvYTlfC7CRg2Q \
-d channelType=any \
-d maxResults=500 \
-d key={{API_KEY}} \
-d pageToken=0 \
-d order=date

Lưu ý là mỗi lần call API thì maxResults tối đa chỉ là 50 nên trong trường hợp nhiều channel có nhiều hơn 50 videos thì cần truyền param pageToken để lấy tiếp data.

IV. Google Oauth 2.0

Ở trên chúng ta chỉ lần API Key là xong nhưng với nếu bạn cần quyền truy cập những API khác như là Manage your YouTube videos thì sẽ phải sử dụng Google Oauth 2.0 nên trong phạm vi bài viết này mình sẽ giới thiệu luôn vì biết đâu sẽ có bạn cần ^^.

Với Google Oauth 2.0 thì chúng ta sẽ cần access_token để truy cập. Mọi người có thể thử với Oauth 2.0 PlayGround tại đây.

1. Select & authorize APIs

https://accounts.google.com/o/oauth2/v2/auth

2. Exchange authorization code for tokens

https://oauth2.googleapis.com/token

Sau bước này chúng ta đã lấy được access_token nhưng bởi vì access_token sẽ exprired sau 1 tiếng nên chúng ta cần refresh access_token để có thể tiếp tục gọi API.

image.png

Đó chính là demo của Oauth2 flow hoàn chỉnh nhưng đi vào sâu hơn như tạo Oauth Client ID thì mình sẽ không làm ở đây nữa vì đã có hướng dẫn rất rõ ràng từ Google Cloud Platform Console - Setting up OAuth 2.0 rồi =)).

image.png

V. Postman Oauth 2.0

Với sự ra đời của Postman Oauth 2.0 thì mọi thứ thật đơn giản. Mọi người có thể tham khảo tutorial Authorize Google APIs Using OAuth 2.0 được chính team Postman làm rất cụ thể và chi tiết.

image.png

Trong quá trình làm có thể sẽ gặp một số lỗi phổ biến nên mình sẽ để tên lỗi và solution link ở dưới:

===

Thanks for reading.

References

Bình luận

Bài viết tương tự

- vừa được xem lúc

Sử dụng Misoca API (oauth2) với Python

Với bài viết này giúp chúng ta có thể nắm được. ・Tìm hiểu cách xử lý API misoca bằng Python.

0 0 49

- vừa được xem lúc

OAuth là gì? Cách thức hoạt động của OAuth

. OAuth cho phép các trang web và dịch vụ chia sẻ tài nguyên giữa những người dùng. Nó được sử dụng rộng rãi, nhưng hãy lưu ý về các lỗ hổng của nó.

0 0 53

- vừa được xem lúc

Giải thích về cách thức hoạt động của OAuth 2.0

OAuth2.0 là một giao thức authorization, cho phép truy cập tài nguyên của resource owner bằng cách bật client applications trên các dịch vụ HTTP như Facebook, GitHub, v.

0 0 39

- vừa được xem lúc

OAuth là gì ? Nó hoạt động như thế nào ?

Mở đầu. Khi bạn vào một trang web muốn sử dụng các dịch vụ của một trang web khác — chẳng hạn như đăng nhập vào bằng tài khoản Facebook — thay vì yêu cầu bạn chia sẻ tài khoản Facebook của mình của mì

0 0 54

- vừa được xem lúc

Từ OAuth đến OpenID Connect

Khi sử dụng các ứng dụng như Draw.io hay một số ứng dụng, trang web nào đó, bạn đã bao giờ gặp thông báo yêu cầu cấp quyền truy cập đến Google drive chưa.

0 0 103

- vừa được xem lúc

Tìm hiểu đôi chút về OAuth2

Chắc hẳn một trong số các bạn cũng đã từng nghe qua khái niệm OAuth trước đây. Về cơ bản, OAuth là một phương thức xác thực giúp một ứng dụng bên thứ 3 có thể được ủy quyền bởi người dùng để truy cập

0 0 34