2015-10-16 94 views
3

我有一個用VB.net編寫的自定義訂單管理系統。我現在需要使用jet.com合作伙伴api與他們進行整合。我確信這對您的Web專家來說並不難,但我對RESTful對apis的調用沒有太多經驗。jet.com合作伙伴API - Rest,JSON,RestSharp?

documentation I have說:

噴氣API安全流程
以下安全流動是用於訪問需要授權噴氣API函數假定流:

用戶通過SSL提交他/她的證書/ TLS到Jet API /api/Token端點通過HTTPS POST請求,如下所示:

POST https://merchant-api.jet.com/api/Token HTTP/1.1 
Host: merchant-api.jet.com 
Content-Type: application/json; charset=utf-8 
Content-Length: 42 

{"user":"[email protected]","pass":"XXXXXXXX"} 

/api/Token端點是Jet API用戶的單點認證。因此,它不需要認證或授權。

如果用戶成功地認證,安全(承載)令牌返回通過SSL/TLS攜帶具有編碼並簽署的用戶相關聯的權利要求書:

HTTP/1.1 200 OK 
Cache-Control: no-store 
Pragma: no-cache 
Content-Length: XXX 
Content-Type: application/json; charset=utf-8 
Server: Microsoft-IIS/8.0 
Set-Cookie: auth0=XXX...XX; path=/; secure; httponly 
Server: nginx/1.7.1 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Wed, 06 Aug 2014 13:50:17 GMT 
Set-Cookie: SERVERID=03-4BRURJ6FFLMCK; path=/ 

{"id_token":"XXX...XX","access_token":"XXX...XX","token_type":"bearer"} 

令牌被包含在JSON節點id_token這應該是在Jet API的下列HTTP請求中用作授權工具(見下面的文章4),直到它過期或被刷新。

如果未在/ api/Token端點進行身份驗證,則用戶取回攜帶標頭HTTP/1.1 401 Unauthorized的HTTP響應。 擁有上述不記名令牌時,用戶應在調用其他Jet API終端時將其作爲授權標頭中的HTTPS請求的一部分提供。該頭部具有以下形式:授權:承載 如果用戶具有與令牌相關的適當權限,他/她將被允許訪問由這些權限分配的端點和/或特定數據。該請求將被執行,響應將由通訊員定義爲API函數,否則將返回HTTP/1.1 401未經授權的響應。

爲Jet API用戶提供的持票人令牌具有有限的生命週期。但是,在令牌到期之前,不記名令牌將完全替代用戶憑證,因此令牌必須作爲私人密碼材料處理。

任何人都可以看到一些示例代碼在C#中執行此操作嗎?我想使用RestSharp會很有幫助,但是也沒有任何經驗。

對於他們的API,我需要:

  1. 授權我的API調用
  2. 上傳產品JSON
  3. 檢索訂單信息

所以,我被困在第一階段,授權我的API調用。

回答

1

嗨,您可以使用此示例代碼,我已經產生使用this link

var client = new RestClient("https://merchant-api.jet.com/api/token/"); 
var request = new RestRequest(Method.POST); 
request.AddHeader("postman-token", "xxxx"); 
request.AddHeader("cache-control", "no-cache"); 
request.AddHeader("authorization", "Basic xxxx"); 
request.AddHeader("content-type", "application/json"); 
request.AddParameter("application/json", "{\"user\":\"xxxx\",\"pass\":\"xxxx\"}", ParameterType.RequestBody); 
IRestResponse response = client.Execute(request); 
+0

你只是只需要更改URL和檢查方法,如果它是GET,PUT或POST方法是使用這個代碼 –

相關問題