• Home
  • Movable Type
  • Data API
  • mt-data-api.js の getToken でトークンを取得してから jQuery.ajax で独自エンドポイントに POST するサンプル

mt-data-api.js の getToken でトークンを取得してから jQuery.ajax で独自エンドポイントに POST するサンプル

Movable Type の JavaScript SDK の getToken を使ってアクセストークンを取得し、そのアクセストークンを使って、独自で追加したエンドポイントのうち、認証が必要なエンドポイントに POST する例です。

ここでは、独自で追加した MT オブジェクトを product としています。

(function($){
 // Data API インスタンス (mtappVars が定義済みの前提)
 mtappVars.DataAPI = new MT.DataAPI({
 baseUrl: 'http://path-to-data-api/mt-data-api.cgi',
 clientId: 'MTAppjQuery'
 });
 // getToken でアクセストークンを取得
 mtappVars.DataAPI.getToken(function(data){
 if (data.error) {
 if (data.error.code === 401) {
 location.href = mtappVars.DataAPI.getAuthorizationUrl(location.href);
 } else {
 alert(data.error.message);
 return;
 }
 }
 if (!data.accessToken) {
 alert('An accessToken error occurred.');
 return;
 }
 // 新しい product オブジェクトを作成
 var product = {
 name: 'Ajax Test 01'
 };
 // jQuery.ajax で POST
 $.ajax({
 url: '/mt/mt-data-api.cgi/v3/sites/1/recommends',
 method: 'POST',
 headers: {
 'X-MT-Authorization': 'MTAuth accessToken=' + data.accessToken
 },
 data: {
 recommend: JSON.stringify(product)
 }
 }).done(function(res){
 console.log(res);
 });
 });
})(jQuery);

簡単ですが、以上です。