記事を操作する(ブログプラグイン)

ここでは、サイトアカウントに存在するブログインスタンスを、SDKから操作する方法について解説します。

記事オブジェクトECHO.Blogs.EntryObject

EntryObjectは、個別記事を操作するためのオブジェクトです。

オブジェクトを生成する

新しい記事をオブジェクトとして生成するには、コンストラクタの第一引数にブログインスタンスのIDを指定します。

var entry = new ECHO.Blogs.EntryObject("ブログインスタンスID");

既存記事をオブジェクトとして生成するには、コンストラクタの第二引数に記事IDを指定します。

var entry = new ECHO.Blogs.EntryObject("ブログインスタンスID", "記事ID");

オブジェクトフィールド

記事オブジェクトは、以下のフィールドを持ちます。

フィールド名説明可変
refid String 記事ID
url String URL ×
url_path String URLパス ×
title String 記事タイトル
description String 概要
keywords String キーワード
robots String 検索エンジンロボット制御
contents Object 記事コンテンツ
link_status Number リンク設定値
  • 1:通常リンク
  • 2:セキュアリンク
  • -1:リンクしない
modified Date 最終更新日時 ×
created Date 作成日時 ×
published Date 記事日時
categories Array
<ECHO.ContentsCategoryObject>
所属カテゴリ

フィールドからデータを取得する

フィールドからデータを取得する場合は、getメソッドを使用します。

var title = entry.get("title");

フィールドにデータをセットする

オブジェクトのフィールドにデータをセットするには、putメソッドを使用します。

entry.put("title", "新しい記事");

entry.put("contents", {name:"記事コンテンツです。"}); 

記事を保存する

リモートサーバーへ記事を保存するには、pushメソッドを使用します。

var entry = new ECHO.Blogs.EntryObject("ブログインスタンスID");

entry.put("title", "新しい記事"); // 記事のタイトルをセット
entry.put("refid", "20150305"); // 記事IDをセット
....

// 記事を保存
var promise = entry.push();

// コールバックを定義
promise.then(function(success) { // 成功時
    console.log("Complete: " + success);
}, function(error) { // 失敗時
    console.log("Complete: " + error);
});

記事を取得する

リモートサーバー上に存在する記事を取得するには、fetchメソッドを使用します。

var entry = new ECHO.Blogs.EntryObject("ブログインスタンスID", "記事ID");

// 記事を取得
var promise = entry.fetch();

// コールバックを定義
promise.then(function(success) { // 成功時
    console.log("Complete: " + success);
}, function(error) { // 失敗時
    console.log("Complete: " + error);
});

記事を削除する

リモートサーバー上に存在する記事を削除するには、deleteメソッドを使用します。

var entry = new ECHO.Blogs.EntryObject("ブログインスタンスID", "記事ID");

// 記事を削除

var promise = entry.delete();

// コールバックを定義
promise.then(function(success) { // 成功時
    console.log("Complete: " + success);
}, function(error) { // 失敗時
    console.log("Complete: " + error);
});

記事を検索する

記事を検索するには、ECHO.Blogs.findメソッドを使用します。
第二引数にリスト制御パラメータを与えることで、データの検索・抽出条件を指定することが可能です。

// 記事一覧を取得
var promise = ECHO.Blogs.find("ブログインスタンスID", {q:"検索キーワード"});

// コールバックを定義
promise.then(function(success) { // 成功時
    console.log("Complete: " + success);
}, function(error) { // 失敗時
    console.log("Complete: " + error);
});

現在のACLを取得する

オブジェクトに現在設定されているACLを取得するには、getACLメソッドを使用します。

var current_acl = entry.getACL();

ACLを変更する

オブジェクトに新しいACLを設定するには、setNewACLメソッドを使用します。

var new_acl = new ECHO.ACL(); // ACLオブジェクトを生成
new_acl.putEntryForAll(new ECHO.ACL.Entry(false, false, false, false)); // 例:非ログイン訪問者の操作権限を全て奪う

entry.setNewACL(new_acl); // 新しいACLをセット

entry.push(); // セットしたACLを反映させるには、最後に必ず保存を実行してください