2016-05-01 131 views
-2

我不是程序員,但必須使用不同的編程語言構建一些演示作爲我工作的一部分。 我想使用REST API webservice,它首先提供一個oauth標記,並使用這個標記我需要調用另一個webservice。 我不知道從哪裏開始 - 我用Google搜索了一下jsp的樣本,但什麼也沒找到。我可以獲得一些示例或高級指導,瞭解如何獲取訪問令牌並在隨後的POST調用中使用它?從JSP開始使用REST API

+0

也許重複[URL](http://stackoverflow.com/questions/6376829/using-rest-with-jsp)或[URL](http://stackoverflow.com/questions/18964055/how -to-使-A-REST的API呼叫到啓動一個可執行文件,在-JAVA) –

回答

0

我從頭開始一個新的JSP項目就知道了。我能夠從web服務獲取OAUTH刷新令牌。

<%@page import="java.io.*"%> 
<%@page import="java.util.*"%> 
<%@page import="org.apache.commons.*" %> 
<%@page import="net.sf.json.JSONObject"%> 
<%@page import="net.sf.json.JSONSerializer"%> 

<%@page import="org.apache.commons.httpclient.HttpClient"%> 
<%@page import="org.apache.commons.httpclient.methods.PostMethod;"%> 

<% 

String sp_clientid="64557e87-806e-41bb-9760-acc42de3f281"; 
String sp_clientsecret="4c115ba5-58d8-44d0-9378-0abe9d1bb9f8"; 
String sp_refreshtoken="40b19430-5d83-42f6-8b27-14c9cf70b8c1"; 

String GRANT_TYPE = "refresh_token"; 
String PARAM_GRANT_TYPE = "refresh_token"; 

String url="https://api0.silverpop.com/oauth/token"; 
HttpClient httpclient = new HttpClient(); 
String responseText=""; 

PostMethod post = new PostMethod(url); 
post.setParameter("client_id",sp_clientid); 
post.setParameter("client_secret", sp_clientsecret); 
post.setParameter("refresh_token", sp_refreshtoken); 
post.setParameter("grant_type",PARAM_GRANT_TYPE); 

httpclient.executeMethod(post); 
//responseText=getResponseText(post); 
InputStream is = post.getResponseBodyAsStream(); 
Scanner scanner = new Scanner(is).useDelimiter("\\A"); 
responseText=scanner.hasNext() ? scanner.next() : ""; 

System.out.println(responseText); 

%> 



<html> 
<head> 

<link rel="stylesheet" type="text/css" href="default.css" media="screen" />  
</head> 

<body> 
     HELLO WORLD 
     <TABLE BORDER="0" cellpadding="0" CELLSPACING="0" class=boldtable> 
     <TR> 
     <FONT size="15"> 
     <TD WIDTH="450" HEIGHT="600"> 

     </TD> 


     </TR> 
     </TABLE> 
     </FONT> 



</body> 

</html>