2016-10-31 2 views
0


오픈 뱅크 프로젝트에 데이터를 게시하려고하는데 코드에서 누락 된 부분을 볼 수 없습니다. NodeJs sdk, API explorer 및 OAuth.post() 예제 (webapplog.com/node-js-oauth1-0-and-oauth2-0-twitter-api-v1-1-examples)를 사용합니다.Nodejs - Oauth로 데이터 게시

GET이 정상적으로 작동하지만 POST에 계속 오류가 있습니다. 다음은 코드입니다 (sdk와 매우 흡사합니다. 유효한 키 ans 암호가 있습니다. 새 app.get 2 개만 작성합니다).

참고 : apisandbox openbankproject/index에서 ID가 142842 및 1000EUR이고 ID가 163248 및 2000EUR 인 은행 계좌가 2 개 생성되었습니다. 계정 정보를 얻을 수

이 하나 (GET)는 작동합니다

app.get('/test', function(req, res){ 
     consumer.get("https://apisandbox.openbankproject.com/obp/v1.2.1/banks/rbs/accounts/142842/owner/account", 
     req.session.oauthAccessToken, 
     req.session.oauthAccessTokenSecret, 
     function (error, data, response) { 
     if (error) {console.log('error is ' + error);} 
      var parsedData = JSON.parse(data); 
      res.status(200).send(parsedData) 
     }); 
    }); 

지불이 하나 (POST)를하지 않습니다 :

{ statusCode: 404, 
    data: '<!DOCTYPE html>\n<html> <body>The Requested URL /obp/v1.2.1/banks/rbs/accounts/142842/owner/transactions was not found on this server</body> </html> \n ' } 
:
app.get('/pay', function(req, res){ 

    var requestData = { 
    account_id : "163248", 
    bank_id: "rbs" , 
    amount: "50.00" 
    }; 
    consumer.post("https://apisandbox.openbankproject.com/obp/v1.2.1/banks/rbs/accounts/142842/owner/transactions", 
    req.session.oauthAccessToken, 
    req.session.oauthAccessTokenSecret, 
    requestData, 
    "application/json", 
    function (error, data, response) { 
     console.log(error); 
     //console.log(data); 
     //console.log(response); 
    }); 

나는이 오류

도움 주셔서 감사합니다.

답변

0

나는 link 덕분에 내 자신의 질문에 답할 수있다 (165 행 참조).

app.get('/pay', function(req, res){ 
    var fromBankId = "rbs"; 
    var fromAccountId = "163248"; 

    var toBankId = "rbs"; 
    var toAccountId = "163248"; 

    var currency = "EUR"; 
    var amount = "100.50"; 

    var description = "description test"; 


    var transactionRequestType = "SANDBOX_TAN"; 

    var toObj = {"bank_id": toBankId, "account_id": toAccountId}; 
    var valueObj = {"currency":currency, "amount":amount}; 

    var detailsObj = {"to": toObj, "value": valueObj, "description": description} 
    var viewId = "owner" 

    var details = JSON.stringify(detailsObj); 

    var postUrl = "https://apisandbox.openbankproject.com" + "/obp/v2.1.0/banks/" + fromBankId + "/accounts/" + fromAccountId + "/" + viewId + "/transaction-request-types/" + transactionRequestType + "/transaction-requests"; 

consumer.post(postUrl, 
    req.session.oauthAccessToken, 
    req.session.oauthAccessTokenSecret, 
    details, // This is the body of the request 
    "application/json", // Must specify this else will get 404 
    function (error, data, response) { 

     var error = JSON.stringify(error) 

     console.log("error is: " + error) 
     console.log("data is: " + data) 
     console.log("response is: " + response) 


     try { 
      var parsedData = JSON.parse(data); 
      console.log("parsedData is: " + parsedData) 
      message = "" 
     } catch (err) { 
      // handle the error safely 
      console.log(err) 
      message = "Something went wrong creating a transaction request - did you supply the correct values?" 
     } 
    }); 
});