Movable TypeのDataAPIで「403 Forbidden」になる場合の対処

Movable TypeのDataAPIで「403 Forbidden」になる場合の対処

Posted at March 22,2021 11:55 PM
Tag:[DataAPI, MovableType]

Movable TypeのDataAPIで「403 Forbidden」になる場合の対処方法を紹介します。

1.問題点

MTから記事のタイトル一覧を取得するスクリプトを作成しました。

<script src="http://.../mt-static/data-api/v3/js/mt-data-api.min.js"></script>
<script type="text/javascript" src="http://.../mt-static/jquery/jquery.min.js?v=7.1.4"></script>
<script>
var api = new MT.DataAPI({
    clientId: 'foo',
    baseUrl: 'http://.../cgi-bin/mt/mt-data-api.cgi',
    format: 'json',
    async: true,
});
siteId=1;
api.listEntries(siteId, function(response) {
  if (response.error) {
    // エラー処理
    jQuery('#result').append($('<li>').append(response.error.code + ":" + response.error.message));
    return;
  }
 
  for (var i = 0; i < response.items.length; i++) {
      var entry = response.items[i];
      jQuery('#result').append($('<li>').append(response.items[i].title));
  }
});
</script>
<div id="result"></div>

が、実行すると、

403:Forbidden

となります。

スクリプトは問題ないと思いますが原因が分かりません。

ということで、DataAPIで「403 Forbidden」になる場合の対処方法を紹介します。

2.原因

MTでDataAPIの利用が有効になっていないのが原因として考えられます。

3.対処

DataAPIを利用したいサイトの「設定」→「Webサービス」をクリック。

「Data API のアクセスを許可する。」をチェックして「変更を保存」をクリック。

これで冒頭のスクリプトが正常に動作するようになります。

4.その他

システム関連のデータにアクセスする場合は、システム管理画面の「設定」→「Webサービス」をクリックして、「システム全般での Data API の利用を許可する。」をチェックして「変更を保存」をクリック。

これでシステム関連のデータにアクセスできるようになります。

なお、認証が必要なデータにアクセスする場合は「Movable Type Data APIの使い方:authenticate()」の設定を追加してください。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)