C#_使用RestSharp開發歐洲專利局資料WebApi存取應用_token概念_Postman超猛程式碼轉譯功能

 

EPO OPS(European Patent Office Open Patent Services)

Open Patent Services (OPS) is a web service which provides access to the EPO's data via a standardised XML interface. It does this using RESTful architecture.





歐洲專利局(EPO)
提供給開發者做專利文獻資料存取的Web API 
也就是OPS

在官方有公開存取文件可做下載





首先歐洲專利局開的API存取規則十分嚴謹
會需要先有一對Key,SecretKey(帳號跟密碼)
註冊完並通過申請後會獲得

這個Key 和 SecreteKey 傳入之前必須是
以{Key}:{SecreteKey}  之間用分號隔開並經過Base64編碼後的結果
由於是採用 Basic Authorization
因此在塞入Header時候必須在前面多加 "Basic "

最終傳入Header格式
"Basic " + Base64Encode({Key}:{SecreteKey})


並在每次呼叫API時候會需要先取得Token
具有時效性(10~20分鐘就失效) 官方文件是說理論上是20分鐘的有效期限

一完整OPS api呼叫存取時序圖



中間經由EPO 的 Gateway來頒發token
有點類似你去某個園區或展覽會有買門票可能就是當天營業時間可以用的概念。
有點像是具有時效性的門票,在大陸用語可能會被稱作「令牌、通證」這種翻法是比較直觀的。


開啟POSTMAN來測試看看
預設文件有提及到要先傳入
Header部分
Content-Type 為 application/x-www-form-urlencoded


Body部分
要傳入的Key:Val
grant_type : client_credentials



Authorization部分
授權則是設定其帳號密碼




對應完成最原始發送出去的HTTP Context會是長這樣



而在postman測試完成回傳令人滿意的200 OK後
就要在把它轉成系統中要用的程式碼了
PostMan提供了一個可直接將剛剛一系列在Postman上設定參數過程
轉譯成某種程式語言(C#、NodeJs、Java、PHP、C、Python...)

比方我要用C#就在Code Snippey下拉轉換成
C#程式對應呼叫方式(在此範本中是C#搭配RestSharp->Nuget安裝完即可調用)











以上就是本次分享









Ref:

TOKEN 是什麼?「通證」是什麼?「ANT螞蟻通證」是什麼?
https://kknews.cc/tech/e4m9lm4.html

ASP.NET - RestSharp
https://dotblogs.com.tw/justforgood/2018/08/27/174803


POST Request using Rest Sharp
https://www.toolsqa.com/rest/post-request-using-rest-sharp/

C# RestSharp 使用
https://zhuanlan.zhihu.com/p/29338111










留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題