99视频+国产日韩欧美_久久精品国产一区二区三_成人亚洲精品_另类一区二区_日本sm残虐另类_精品久久免费_日本最新不卡在线_日韩av一区二区三区四区_亚洲精品一区国产_日本欧美三级

Wikidot API

The main concept of naming is as follows:

  • namespace is type of object you work with
  • select methods return array of names
  • get methods return array of all data of matched objects
  • get_one methods return array of all data of one matched object

The list will grow as the methods are added. The methods are discussed here.

XML-RPC api is limited to 240 req/min (per user).

categories.select

Select all categories from given site

  • argument keys:
    • site: site to get pages from, e.g. "my-site"
  • returns: list of category names
>>> s.categories.select({"site": "my-site"})
["_default", "admin", "forum", "system", "blog"]

files.select

Get names of files attached to page

  • argument keys:
    • site: what site we ask about
    • page: what page (full name) we ask about
  • returns: list of file names

files.get_meta

Get meta data of given files

  • argument keys:
    • site: what site we ask about
    • page: what page (full name) we ask about
    • files: name of files to get meta data of — max 10 of them
  • returns: dictionary of files. File name is key of each item in it. The value is a dictionary of:
    • size — size in bytes
    • comment
    • mime_type
    • mime_description
    • uploaded_by
    • uploaded_at
    • download_url — URL to download the file from. For private sites, the URL contains authorization token ?ukey=... valid for about 5 minutes.

files.get_one

This method works for small files only (max 6MB).

Get file attached to page (alternatively you can use download_url from get_meta method above)

  • argument keys:
    • site: site to get page from
    • page: page to get file from
    • file: name of file to get
  • returns: dictionary with the same keys as files.get_meta and additionally:
    • content — base64-encoded file contents

files.save_one

With this method you can attach files not bigger than 50MB. Other file size limits also apply:

  • site storage — can't upload file bigger than current unused file storage for site
  • maximum file size depending on free/Pro Wikidot plan

Attaches file to page

  • argument keys:
    • site: site of page to attach file to
    • page: page to attach file to
    • file: name of file to attach
    • comment (optional): file description
    • save_mode (optional): allowed mode of operation
      • create — only allow creating new objects (exception thrown if object with this name already exists)
      • update — only allow updating objects (exception thrown if no object with this name exists)
      • create_or_update (default) — allow both creating and updating object
    • content: base64-encoded file content
    • notify_watchers (optional):
      • true: notify watchers about the edit (as if it was done with the web interface)
      • false (default): don't notify watchers
    • revision_comment (optional): revision comment (displayed in history)
  • returns: the newly uploaded file information as dictionary the same to what files.get_meta return for each file

tags.select

Select all tags from pages from given site or page or category

  • argument keys:
    • site: site to get pages to get tags from, e.g. "my-site"
    • categories (optional): list of names of categories to get pages to get tags from
    • pages (optional): list of full names of pages to get tags from — max 10 of them
  • returns: list of tags

pages.select

Select pages that match given criteria

  • argument keys (if not stated otherwise, possible values documented in ListPages module):
    • site: site to get pages from, e.g. "my-site"
    • pagetype (optional): default "*"
    • categories (optional): list of category names to pull pages from, default: all categories
    • tags_any (optional): list of tags, page must have at least one of them
    • tags_all (optional): list of tags, page must have all of them
    • tags_none (optional): list of tags, page must have none of them
    • parent (optional): single page name or "-" for pages with no parent
    • created_by (optional): single user name
    • rating (optional)
    • order (optional)
  • returns: list of page full names
>>> s.pages.select({"site": "my-site", "categories": ["blog", "news"], "tags_none": ["_draft"], "order": "created_at desc"})
["blog:last-post", "blog:second-post", "blog:first-post", "blog:_template"]

pages.get_meta

Get a bunch of pages and returns (some of) their meta data

  • argument keys:
    • site: site to list pages from, eg. "my-site"
    • pages: list of page full names to list (maximum 10 pages)
  • returns dictionary of pages. For each page there will be item in the dictionary with page name as key and dictionary of the following page properties as value:
    • fullname
    • created_at
    • created_by
    • updated_at
    • updated_by
    • title
    • parent_fullname
    • tags — list of all tags (including those starting with underscore)
    • rating
    • revisions
    • [PLANNED] comments — number of comments
    • [PLANNED] files — number of files attached to the page
    • [PLANNED] children — number of children pages
>>> s.pages.meta({"site": "my-site", "pages": ["blog:last-post", "blog:second-post"]})
{
 "blog:last-post": {"fullname": "blog:last-post", "created_at": "2010-08-04T23:20:50Z", "created_by": "Gabrys", "updated_at": "2010-08-04T23:23:31Z", "updated_by": "Gabrys", "title": "Last Post", "parent_fullname": None, "tags": ["blog", "last"], "rating": 8, "revisions": 2},
 "blog:second-post": {"fullname": "blog:second-post", "created_at": "2010-08-03T22:52:10Z", "created_by": "Gabrys", "updated_at": "2010-08-03T22:52:10Z", "updated_by": "Gabrys", "title": "Second Post", "parent_fullname": None, "tags": ["blog", "second"], "rating": 1, "revisions": 1}
}

pages.get_one

Gets one page and returns all its properties

  • argument keys:
    • site: site to get a page from, e.g. "my-site"
    • page: page full name to get, e.g. "start" or "blog:first-post"
  • returns: page properties as dictionary (consult documentation of ListPages module)
    • all those listed in pages.get_meta plus:
    • parent_title
    • children
    • content — page content, if page is assigned a form it's in YAML format
    • html — generated HTML of the page (as seen from browser excluding navigational bars etc)
    • comments — number of comments
    • commented_at
    • commented_by
>>> s.pages.get_one({"site": "my-site", "page": "blog:last-post"})
{"created_at": "2010-08-04T23:20:50Z", "created_by": "Gabrys", "updated_at": "2010-08-04T23:23:31Z", "updated_by": "Gabrys", "title": "Last Post", "parent_fullname": None, "tags": ["blog", "last"], "rating": 8, "revisions": 2, "parent_title": None, "children": 0, "content": "Test blog post", "html": "<p>Test blog post</p>", "comments": 0, "commented_at": None, "commented_by": None}

pages.save_one

Save page. Site and page keys of argument array are required. Set specific keys to update the properties, omit to keep current values.

  • argument keys:
    • site: site to save page to
    • page: page full name to save
    • title (optional): title to set
    • content (optional): page content — wiki source
    • tags (optional): array of tags to set
    • parent_fullname (optional): parent page full name, "-" to reset
    • save_mode (optional): allowed mode of operation
      • create — only allow creating new objects (exception thrown if object with this name already exists)
      • update — only allow updating objects (exception thrown if no object with this name exists)
      • create_or_update (default) — allow both creating and updating object
    • rename_as (optional): rename the page (in addition to possible other changes in source etc)
    • revision_comment (optional): revision comment (displayed in history)
    • notify_watchers (optional):
      • true: notify watchers about the edit (as if it was done with the web interface)
      • false (default): don't notify watchers
  • returns: saved page (as in pages.get_one)

We only want to make API for comments currently, but it will be expanded to both comments and forum. That's why the namespace is posts and not comments.

Note the API for posts namespace is not yet stable. This means it may change in the future without notice and break compatibility.

posts.select

Select post/comments on given site, page, thread and/or in reply to other comment.

  • argument keys:
    • site: site to get pages to get comments from, e.g. "my-site"
    • page (optional): page to get comments from
    • thread (optional): thread to get posts from — not yet implemented
    • reply_to (optional): only select comments/posts that are direct replies to this one ("-" means not replies to other posts/comments)
    • created_by (optional): select posts by this user
  • returns: list of post/comments IDs sorted by date posted

posts.get

  • argument keys:
    • site: site to get comments from, e.g. "my-site"
    • posts: list of IDs of posts/comments to get (max 10 of them)
  • returns dictionary of posts/comments. For each post/comment there will be item in the dictionary with post/comment ID as key and and dictionary of the following post properties as value:
    • id — ID of post/comment
    • fullname — fullname of page to which comment belongs
    • reply_to — ID of comment which this post/comment replies to
    • title — title of the post/comment
    • content — post/comment body (wiki syntax)
    • html — post/comment body as HTML
    • created_by — user that posted post/comment
    • created_at — time post/comment was posted
    • replies — number of replies to given post/comment — not yet implemented

users.get_me

  • argument keys:
    • no arguments needed, pass an empty dictionary or array
  • returns dictionary of user (the one that API key belongs to) properties:
    • name: URL version of user name, for example "john-smith" for "John Smith"
    • title: full name of user, for example "John Smith"
    • id: ID number of user, for example "12345"

Deleted methods

The following methods are deleted and don't work anymore:

  • site.pages
  • site.categories
  • page.get
  • page.files
  • page.save
  • user.sites
99视频+国产日韩欧美_久久精品国产一区二区三_成人亚洲精品_另类一区二区_日本sm残虐另类_精品久久免费_日本最新不卡在线_日韩av一区二区三区四区_亚洲精品一区国产_日本欧美三级
久久高清精品| 精品国产一区探花在线观看 | 午夜日韩电影| eeuss国产一区二区三区四区| 麻豆精品久久精品色综合| 男女视频一区二区| 欧美日韩中字| 999在线精品| 精品一区二区三区在线观看视频| 成人交换视频| 在线手机中文字幕| 久久国产精品99国产| 日韩香蕉视频| 影音国产精品| 国产韩日影视精品| 欧美国产91| 91精品一区二区三区综合在线爱| 极品束缚调教一区二区网站| 亚洲人成亚洲精品| 日韩高清电影免费| 亚洲精品亚洲人成在线| 国色天香一区二区| 麻豆精品一二三| 日本久久久久| 亚洲国产mv| 日韩国产一区二| 六月丁香婷婷色狠狠久久| 美女久久久久久| 久久精品99国产精品日本| 福利一区视频| 日韩一级特黄| 免费在线亚洲| 欧美人成在线| 国产不卡精品在线| 国产精久久久| 国产亚洲一卡2卡3卡4卡新区| 国产视频一区二区在线播放| 综合久久亚洲| 欧美猛男同性videos| 亚洲三级网址| 日韩视频在线直播| 中文字幕亚洲在线观看| 秋霞欧美视频| 狠狠操综合网| 鲁大师成人一区二区三区 | 亚洲国产mv| 国产精品久久久久9999高清| 国内自拍视频一区二区三区| 国产精品亚洲综合在线观看| 国产亚洲精品v| 美女视频一区免费观看| 丝袜美腿亚洲一区二区图片| 欧美freesextv| 日韩一区三区| 久久精品国产一区二区| 中文字幕亚洲综合久久五月天色无吗''| 综合亚洲视频| 欧美成年网站| 久久一区二区三区电影| 国产精品视区| 日韩在线观看不卡| 亚洲乱亚洲高清| 日韩mv欧美mv国产网站| 青青草综合网| 国产一区91| 欧美黑人一区| 一区二区在线| heyzo欧美激情| 好看不卡的中文字幕| 成人激情电影在线| 久久狠狠亚洲综合| 久久99精品久久久久久园产越南| 国产精品22p| 伊人久久大香线蕉综合热线| 伊人久久视频| 欧美日韩亚洲一区三区| 日韩一二三区在线观看| 午夜久久99| 日韩视频在线观看| 国产精品一区二区三区www| 动漫视频在线一区| 久久高清一区| 美女网站一区二区| 久久久久亚洲精品中文字幕| 在线观看国产精品入口| 色资源二区在线视频| 欧美精品91| 成人羞羞视频播放网站| 国产精品久久天天影视| 麻豆精品一区二区综合av| 91综合久久爱com| 国产精品日韩| 麻豆91小视频| 成人看片黄a免费看视频| 老**午夜毛片一区二区三区| 久久精品99国产精品日本| 综合激情久久| 男男成人高潮片免费网站| 麻豆免费精品视频| 免费日韩一区二区三区| 欧美视频精品全部免费观看| 91精品国产调教在线观看| 国产精品久久久久无码av| 欧美国产精品| 欧洲激情综合| 欧美成人一二区| 精品国产午夜肉伦伦影院| sm捆绑调教国产免费网站在线观看| 国产精品a级| 亚洲先锋成人| 国产精品麻豆成人av电影艾秋| 9国产精品午夜| 色婷婷亚洲mv天堂mv在影片| 亚洲日本视频| 国产精品88久久久久久| 久色婷婷小香蕉久久| 精品国内自产拍在线观看视频 | 香蕉视频亚洲一级| 精品三级久久久| 日产精品一区二区| 国内成人精品| 日韩中文字幕av电影| 国产精品久久久久久久久久久久久久久| 伊人成综合网伊人222| 亚洲mmav| 中文字幕中文字幕精品| 亚洲精品555| 999久久久国产精品| 久久99国产精品二区高清软件| 六月丁香久久丫| 日韩一区二区三免费高清在线观看| 久久99偷拍| 99精品国产在热久久| 亚洲午夜av| 久久久久久久久久久久久久久久久久久久| 精品欧美激情在线观看| 日本vs亚洲vs韩国一区三区 | 日韩深夜影院| 深夜av在线| 神马日本精品| 一区二区毛片| 伊人成人在线视频| 综合综合综合综合综合网| 国产精品久久久久一区二区三区厕所 | 亚洲精品大片| 亚洲性图久久| 国产精品v亚洲精品v日韩精品 | 日韩一区二区三区四区五区| 欧美+日本+国产+在线a∨观看| 日本免费新一区视频| 亚洲欧美日本日韩| 日韩精品社区| 久久69成人| 亚洲欧美日本日韩| 91成人福利| 国产日韩亚洲| 久久亚洲欧美| 精品国产一区二区三区久久久蜜臀 | 久久中文资源| 久草在线资源福利站| 99精品小视频| 国产探花一区在线观看| 久久夜夜操妹子| 狠狠入ady亚洲精品| 日韩成人一级| 99精品热视频只有精品10| 亚洲一区激情| 欧美亚洲tv| 欧美黄污视频| 日本肉肉一区| 亚洲欧美日本日韩| 久久精品福利| 国产一区二区电影在线观看| 日韩av首页| 视频一区视频二区中文| 久久国产欧美| 日韩成人一级大片| 亚洲精品乱码久久久久久蜜桃麻豆| 丝袜美腿成人在线| 久久人人88| 青草伊人久久| 99热这里有精品| 久久婷婷五月综合色丁香| 日本午夜一区| 日韩亚洲在线| 久久一区二区三区喷水| 欧美成年网站| 国产成人1区| 青青草97国产精品免费观看无弹窗版| 成人一区不卡| 激情91久久| 精品国产一区二区三区不卡蜜臂 | 亚洲伦乱视频| 午夜在线观看免费一区| 婷婷精品视频| 欧美中文一区| 在线日韩成人| 日韩av影院| 色综合综合色| 欧美视频二区欧美影视|