2016-10-31 6 views
0


オープン・バンク・プロジェクトでデータを投稿しようとしましたが、私のコードで何が欠けているのかわかりません。 NodeJs sdkAPI explorerとOAuth.post()の例(webapplog.com/node-js-oauth1-0-and-oauth2-0-twitter-api-v1-1-examples)を使用します。Nodejs - Oauthによるデータの転記(オープン・バンク・プロジェクトの場合)

GETはうまくいきますが、POSTでエラーが発生します。ここにコードがあります(sdkとよく似ていますが、有効なキーansの秘密で、私はちょうど2つの新しいapp.getを書いています)。

注:apisandbox openbankproject/indexには、2つの銀行口座が作成されました.1つはIDが142842と1000EUR、もう1つがIDが163248と2000EURです。

アカウント情報が機能し得るために、この1(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) 
     }); 
    }); 

この1(POST)の支払いのためにはない:

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); 
    }); 

私はこのエラーを取得する:

{ 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 ' } 

ご協力いただきありがとうございます。

答えて

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?" 
     } 
    }); 
}); 
関連する問題