CasperJSでMicrosoft Translatorのアクセストークンを取得できない
CasperJSでMicrosoft Translatorを使用するため、下記コードでアクセストークンを取得しようとしました。
しかし、本来、アクセストークンを含むjson形式のデータが入っているはずのresponse.dataがnullになります。ヘッダー情報などは正しく返ってきているのですが、なぜなのでしょうか?
ちなみに、dataオブジェクトとheadersオブジェクトの同じ値を使用し、phpで実行すると、正しくアクセストークンを取得できます。
main.js
"use strict";
var utils = require('utils');
var translator = require('translator');
var casper = require('casper').create({
exitOnError: true,
verbose: true,
logLevel: "info",
pageSettings: {
userAgent: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Safari/537.36',
loadImages: false,
loadPlugins: false,
webSecurityEnabled: false,
ignoreSslErros: false
},
stepTimeout: 10000,
onStepTimeout: function(milliseconds, step) {
this.echo('stopped step is ' + step);
this.clear();
}
});
casper.start();
casper.then(function() {
translator.translate();
});
casper.run(function() {
this.exit();
});
translator.js
"use strict";
exports.translate = function() {
var tokenUrl = 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13';
var data = {
'client_id': 'myClientId',
'client_secret': 'myClientSecret',
'scope': 'http://api.microsofttranslator.com',
'grant_type': 'client_credentials'
};
casper.thenOpen(tokenUrl,
{
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: {
'client_id': data.client_id,
'client_secret': data.client_secret,
'scope': data.scope,
'grant_type': data.grant_type
}
},
function(response) {
utils.dump(response);
}
);
};
response内容
{
"contentType": "application/json; charset=utf-8",
"headers": [
{
"name": "Cache-Control",
"value": "no-cache, no-store"
},
{
"name": "Pragma",
"value": "no-cache"
},
{
"name": "Content-Type",
"value": "application/json; charset=utf-8"
},
{
"name": "Expires",
"value": "-1"
},
{
"name": "request-id",
"value": "1063d5ba-40af-4997-ac27-9b3ba456c6d0"
},
{
"name": "X-Content-Type-Options",
"value": "nosniff"
},
{
"name": "Strict-Transport-Security",
"value": "max-age=31536000; includeSubDomains"
},
{
"name": "Date",
"value": "Thu, 26 Mar 2015 07:38:52 GMT"
},
{
"name": "Content-Length",
"value": "608"
}
],
"id": 1,
"redirectURL": null,
"stage": "end",
"status": 200,
"statusText": "OK",
"time": "2015-01-13T06:39:33.248Z",
"url": "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13",
"data": null
}