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

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

0 0 49

Người đăng: hiepkyou

Theo Viblo Asia

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

・Ví dụ về cách sử dụng thư viện oauth2_client

Misoca với ưu điểm vượt trội là sẽ tự động hoá việc xử lý hóa đơn, vì vây với nhiều hệ thống liên kết cần thiết với nghiệp vụ yêu cầu thanh toán thì việc implement API là một sự lựa chọn tốt. Tuy nhiên, lại không thể tìm hiểu về oauth2 với các tài liệu của misoca.

Giải thích cách sử dụng API misoca

Đăng ký với Misoca

Sau khi đăng nhập vào Misoca, hãy truy cập URL sau để đăng ký ứng dụng.

https://app.misoca.jp/oauth2/application

Đặt URL chuyển hướng như trong ví dụ bên dưới (cần ít nhất một trong số này):

http://ネット上のURL/callback_misoca

http://localhost:8080

http://0.0.0.0:5001/callback_misoca

Cài đặt oauth2-client

Gõ lệnh sau để cài đặt oauth2-client.

pip install oauth2-client

Hai ví dụ về việc triển khai API Misoca bằng Python.

Phần 1: Mở trình duyệt và phê duyệt và approve

Đặc trưng : Không cần nhúng ID đăng nhập và mật khẩu vào nguồn.Cần mở trình duyệt khi được phê duyệt.

Code như dưới đây!

#####################################################################
##Sample sử dụng API Misoca sử dụng oauth2_client
##################################################################### from logging import getLogger, StreamHandler, Formatter
from oauth2_client.credentials_manager import CredentialManager, ServiceInformation #Setting scope
scopes = ['read', 'write'] service_information = ServiceInformation('https://app.misoca.jp/oauth2/authorize', #authorizeのULR 'https://app.misoca.jp/oauth2/token',#token ULR 'Set application ID', 'Set secret id', scopes) manager = CredentialManager(service_information) #Setting redirect URL redirect_uri = 'http://0.0.0.0:5001/callback_misoca' url = manager.init_authorize_code_process(redirect_uri, 'state_test') #Đến đây mở trình duyệt, nhập URL hiển thị trong console gán vào trình duyệt print('Open this url in your browser\n%s'% url) code = manager.wait_and_terminate_authorize_code_process() print('Code got = %s' % code) manager.init_with_authorize_code(redirect_uri, code) #Get token print('Access got = [%s]' % manager._access_token) response = manager.get("https://app.misoca.jp/api/v3/contacts") print(response.text)

Source code được public trên Git Hub

https://github.com/jshirius/python_tools/blob/master/oAuth2Client_misoca.py

Phần 2: Không mở trình duyệt

Không cần mở trình duyệt khi yêu cầu phê duyệt

Bạn cần viết ID đăng nhập và mật khẩu của mình trên source code

Code như dưới đây!

#####################################################################
##Sample sử dụng loginid và password ##################################################################### from logging import getLogger, StreamHandler, Formatter
from oauth2_client.credentials_manager import CredentialManager, ServiceInformation
import urllib.request scopes = ['read', 'write'] service_information = ServiceInformation('https://app.misoca.jp/oauth2/authorize',#authorizeのULR 'https://app.misoca.jp/oauth2/token',#tokenのULR 'Set application ID', 'Set secret id ', scopes)
manager = CredentialManager(service_information) manager.init_with_user_credentials('setlogin id', 'set pass')
print('Access got = %s' % manager._access_token)
# Here access and refresh token may be used response = manager.get("https://app.misoca.jp/api/v3/contacts")
print(response.text)

Source code được public trên Git Hub

https://github.com/jshirius/python_tools/blob/master/user_login_misoca.py

■ Tài liệu tham khảo

Misoca API v3

https://doc.misoca.jp/v3/

Trên đây là cách triển khai API Misoca bằng Python!

Bình luận

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

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

Thao tác với File trong Python

Python cung cấp các chức năng cơ bản và phương thức cần thiết để thao tác các file. Bài viết này tôi xin giới thiệu những thao tác cơ bản nhất với file trong Python.

0 0 63

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

Tập tành crawl dữ liệu với Scrapy Framework

Lời mở đầu. Chào mọi người, mấy hôm nay mình có tìm hiểu được 1 chút về Scrapy nên muốn viết vài dòng để xem mình đã học được những gì và làm 1 demo nho nhỏ.

0 0 166

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

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 3)

Tiếp tục phần 2 của series Pandas DataFrame nào. Let's go!!. Ở phần trước, các bạn đã biết được cách lấy dữ liệu một row hoặc column trong Pandas DataFame rồi phải không nào. 6 Hoc.

0 0 63

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

Lập trình socket bằng Python

Socket là gì. Một chức năng khác của socket là giúp các tầng TCP hoặc TCP Layer định danh ứng dụng mà dữ liệu sẽ được gửi tới thông qua sự ràng buộc với một cổng port (thể hiện là một con số cụ thể), từ đó tiến hành kết nối giữa client và server.

0 0 79

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

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 2)

Nào, chúng ta cùng đến với phần 2 của series Pandas DataFrame. Truy xuất Labels và Data. Bạn đã biết cách khởi tạo 1 DataFrame của mình, và giờ bạn có thể truy xuất thông tin từ đó. Với Pandas, bạn có thể thực hiện các thao tác sau:.

0 0 95

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

Python: Jump Search

Search là một từ khóa khá là quen thuộc đối với chúng ta. Hiểu theo đúng nghĩa đen của nó chính là "Tìm kiếm".

0 0 50