<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.blogs.html">blogs</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(blogId, maxPosts=None)</a></code></p>
<p class="firstline">Gets one blog by id.</p>
<p class="toc_element">
  <code><a href="#getByUrl">getByUrl(url)</a></code></p>
<p class="firstline">Retrieve a Blog by URL.</p>
<p class="toc_element">
  <code><a href="#listByUser">listByUser(userId)</a></code></p>
<p class="firstline">Retrieves a list of blogs, possibly filtered.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(blogId, maxPosts=None)</code>
  <pre>Gets one blog by id.

Args:
  blogId: string, The ID of the blog to get. (required)
  maxPosts: integer, Maximum number of posts to pull back with the blog.

Returns:
  An object of the form:

    {
    "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
    "description": "A String", # The description of this blog. This is displayed underneath the title.
    "locale": { # The locale this Blog is set to.
      "country": "A String", # The country this blog's locale is set to.
      "variant": "A String", # The language variant this blog is authored in.
      "language": "A String", # The language this blog is authored in.
    },
    "posts": { # The container of posts in this blog.
      "totalItems": 42, # The count of posts in this blog.
      "items": [ # The List of Posts for this Blog.
        {
          "content": "A String", # The content of the Post. May contain HTML markup.
          "kind": "blogger#post", # The kind of this entity. Always blogger#post
          "author": { # The author of this Post.
            "url": "A String", # The URL of the Post creator's Profile page.
            "image": { # The Post author's avatar.
              "url": "A String", # The Post author's avatar URL.
            },
            "displayName": "A String", # The display name.
            "id": "A String", # The identifier of the Post creator.
          },
          "replies": { # The container of comments on this Post.
            "totalItems": "A String", # The count of comments on this post.
            "items": [ # The List of Comments for this Post.
              {
                "content": "A String", # The actual content of the comment. May include HTML markup.
                "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
                "inReplyTo": { # Data about the comment this is in reply to.
                  "id": "A String", # The identified of the parent of this comment.
                },
                "author": { # The author of this Comment.
                  "url": "A String", # The URL of the Comment creator's Profile page.
                  "image": { # The comment creator's avatar.
                    "url": "A String", # The comment creator's avatar URL.
                  },
                  "displayName": "A String", # The display name.
                  "id": "A String", # The identifier of the Comment creator.
                },
                "updated": "A String", # RFC 3339 date-time when this comment was last updated.
                "blog": { # Data about the blog containing this comment.
                  "id": "A String", # The identifier of the blog containing this comment.
                },
                "published": "A String", # RFC 3339 date-time when this comment was published.
                "post": { # Data about the post containing this comment.
                  "id": "A String", # The identifier of the post containing this comment.
                },
                "id": "A String", # The identifier for this resource.
                "selfLink": "A String", # The API REST URL to fetch this resource from.
              },
            ],
            "selfLink": "A String", # The URL of the comments on this post.
          },
          "labels": [ # The list of labels this Post was tagged with.
            "A String",
          ],
          "customMetaData": "A String", # The JSON meta-data for the Post.
          "updated": "A String", # RFC 3339 date-time when this Post was last updated.
          "blog": { # Data about the blog containing this Post.
            "id": "A String", # The identifier of the Blog that contains this Post.
          },
          "url": "A String", # The URL where this Post is displayed.
          "location": { # The location for geotagged posts.
            "lat": 3.14, # Location's latitude.
            "lng": 3.14, # Location's longitude.
            "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
            "name": "A String", # Location name.
          },
          "published": "A String", # RFC 3339 date-time when this Post was published.
          "title": "A String", # The title of the Post.
          "id": "A String", # The identifier of this Post.
          "selfLink": "A String", # The API REST URL to fetch this resource from.
        },
      ],
      "selfLink": "A String", # The URL of the container for posts in this blog.
    },
    "customMetaData": "A String", # The JSON custom meta-data for the Blog
    "updated": "A String", # RFC 3339 date-time when this blog was last updated.
    "pages": { # The container of pages in this blog.
      "totalItems": 42, # The count of pages in this blog.
      "selfLink": "A String", # The URL of the container for pages in this blog.
    },
    "url": "A String", # The URL where this blog is published.
    "published": "A String", # RFC 3339 date-time when this blog was published.
    "id": "A String", # The identifier for this resource.
    "selfLink": "A String", # The API REST URL to fetch this resource from.
    "name": "A String", # The name of this blog. This is displayed as the title.
  }</pre>
</div>

<div class="method">
    <code class="details" id="getByUrl">getByUrl(url)</code>
  <pre>Retrieve a Blog by URL.

Args:
  url: string, The URL of the blog to retrieve. (required)

Returns:
  An object of the form:

    {
    "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
    "description": "A String", # The description of this blog. This is displayed underneath the title.
    "locale": { # The locale this Blog is set to.
      "country": "A String", # The country this blog's locale is set to.
      "variant": "A String", # The language variant this blog is authored in.
      "language": "A String", # The language this blog is authored in.
    },
    "posts": { # The container of posts in this blog.
      "totalItems": 42, # The count of posts in this blog.
      "items": [ # The List of Posts for this Blog.
        {
          "content": "A String", # The content of the Post. May contain HTML markup.
          "kind": "blogger#post", # The kind of this entity. Always blogger#post
          "author": { # The author of this Post.
            "url": "A String", # The URL of the Post creator's Profile page.
            "image": { # The Post author's avatar.
              "url": "A String", # The Post author's avatar URL.
            },
            "displayName": "A String", # The display name.
            "id": "A String", # The identifier of the Post creator.
          },
          "replies": { # The container of comments on this Post.
            "totalItems": "A String", # The count of comments on this post.
            "items": [ # The List of Comments for this Post.
              {
                "content": "A String", # The actual content of the comment. May include HTML markup.
                "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
                "inReplyTo": { # Data about the comment this is in reply to.
                  "id": "A String", # The identified of the parent of this comment.
                },
                "author": { # The author of this Comment.
                  "url": "A String", # The URL of the Comment creator's Profile page.
                  "image": { # The comment creator's avatar.
                    "url": "A String", # The comment creator's avatar URL.
                  },
                  "displayName": "A String", # The display name.
                  "id": "A String", # The identifier of the Comment creator.
                },
                "updated": "A String", # RFC 3339 date-time when this comment was last updated.
                "blog": { # Data about the blog containing this comment.
                  "id": "A String", # The identifier of the blog containing this comment.
                },
                "published": "A String", # RFC 3339 date-time when this comment was published.
                "post": { # Data about the post containing this comment.
                  "id": "A String", # The identifier of the post containing this comment.
                },
                "id": "A String", # The identifier for this resource.
                "selfLink": "A String", # The API REST URL to fetch this resource from.
              },
            ],
            "selfLink": "A String", # The URL of the comments on this post.
          },
          "labels": [ # The list of labels this Post was tagged with.
            "A String",
          ],
          "customMetaData": "A String", # The JSON meta-data for the Post.
          "updated": "A String", # RFC 3339 date-time when this Post was last updated.
          "blog": { # Data about the blog containing this Post.
            "id": "A String", # The identifier of the Blog that contains this Post.
          },
          "url": "A String", # The URL where this Post is displayed.
          "location": { # The location for geotagged posts.
            "lat": 3.14, # Location's latitude.
            "lng": 3.14, # Location's longitude.
            "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
            "name": "A String", # Location name.
          },
          "published": "A String", # RFC 3339 date-time when this Post was published.
          "title": "A String", # The title of the Post.
          "id": "A String", # The identifier of this Post.
          "selfLink": "A String", # The API REST URL to fetch this resource from.
        },
      ],
      "selfLink": "A String", # The URL of the container for posts in this blog.
    },
    "customMetaData": "A String", # The JSON custom meta-data for the Blog
    "updated": "A String", # RFC 3339 date-time when this blog was last updated.
    "pages": { # The container of pages in this blog.
      "totalItems": 42, # The count of pages in this blog.
      "selfLink": "A String", # The URL of the container for pages in this blog.
    },
    "url": "A String", # The URL where this blog is published.
    "published": "A String", # RFC 3339 date-time when this blog was published.
    "id": "A String", # The identifier for this resource.
    "selfLink": "A String", # The API REST URL to fetch this resource from.
    "name": "A String", # The name of this blog. This is displayed as the title.
  }</pre>
</div>

<div class="method">
    <code class="details" id="listByUser">listByUser(userId)</code>
  <pre>Retrieves a list of blogs, possibly filtered.

Args:
  userId: string, ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. (required)

Returns:
  An object of the form:

    {
    "items": [ # The list of Blogs this user has Authorship or Admin rights over.
      {
        "kind": "blogger#blog", # The kind of this entry. Always blogger#blog
        "description": "A String", # The description of this blog. This is displayed underneath the title.
        "locale": { # The locale this Blog is set to.
          "country": "A String", # The country this blog's locale is set to.
          "variant": "A String", # The language variant this blog is authored in.
          "language": "A String", # The language this blog is authored in.
        },
        "posts": { # The container of posts in this blog.
          "totalItems": 42, # The count of posts in this blog.
          "items": [ # The List of Posts for this Blog.
            {
              "content": "A String", # The content of the Post. May contain HTML markup.
              "kind": "blogger#post", # The kind of this entity. Always blogger#post
              "author": { # The author of this Post.
                "url": "A String", # The URL of the Post creator's Profile page.
                "image": { # The Post author's avatar.
                  "url": "A String", # The Post author's avatar URL.
                },
                "displayName": "A String", # The display name.
                "id": "A String", # The identifier of the Post creator.
              },
              "replies": { # The container of comments on this Post.
                "totalItems": "A String", # The count of comments on this post.
                "items": [ # The List of Comments for this Post.
                  {
                    "content": "A String", # The actual content of the comment. May include HTML markup.
                    "kind": "blogger#comment", # The kind of this entry. Always blogger#comment
                    "inReplyTo": { # Data about the comment this is in reply to.
                      "id": "A String", # The identified of the parent of this comment.
                    },
                    "author": { # The author of this Comment.
                      "url": "A String", # The URL of the Comment creator's Profile page.
                      "image": { # The comment creator's avatar.
                        "url": "A String", # The comment creator's avatar URL.
                      },
                      "displayName": "A String", # The display name.
                      "id": "A String", # The identifier of the Comment creator.
                    },
                    "updated": "A String", # RFC 3339 date-time when this comment was last updated.
                    "blog": { # Data about the blog containing this comment.
                      "id": "A String", # The identifier of the blog containing this comment.
                    },
                    "published": "A String", # RFC 3339 date-time when this comment was published.
                    "post": { # Data about the post containing this comment.
                      "id": "A String", # The identifier of the post containing this comment.
                    },
                    "id": "A String", # The identifier for this resource.
                    "selfLink": "A String", # The API REST URL to fetch this resource from.
                  },
                ],
                "selfLink": "A String", # The URL of the comments on this post.
              },
              "labels": [ # The list of labels this Post was tagged with.
                "A String",
              ],
              "customMetaData": "A String", # The JSON meta-data for the Post.
              "updated": "A String", # RFC 3339 date-time when this Post was last updated.
              "blog": { # Data about the blog containing this Post.
                "id": "A String", # The identifier of the Blog that contains this Post.
              },
              "url": "A String", # The URL where this Post is displayed.
              "location": { # The location for geotagged posts.
                "lat": 3.14, # Location's latitude.
                "lng": 3.14, # Location's longitude.
                "span": "A String", # Location's viewport span. Can be used when rendering a map preview.
                "name": "A String", # Location name.
              },
              "published": "A String", # RFC 3339 date-time when this Post was published.
              "title": "A String", # The title of the Post.
              "id": "A String", # The identifier of this Post.
              "selfLink": "A String", # The API REST URL to fetch this resource from.
            },
          ],
          "selfLink": "A String", # The URL of the container for posts in this blog.
        },
        "customMetaData": "A String", # The JSON custom meta-data for the Blog
        "updated": "A String", # RFC 3339 date-time when this blog was last updated.
        "pages": { # The container of pages in this blog.
          "totalItems": 42, # The count of pages in this blog.
          "selfLink": "A String", # The URL of the container for pages in this blog.
        },
        "url": "A String", # The URL where this blog is published.
        "published": "A String", # RFC 3339 date-time when this blog was published.
        "id": "A String", # The identifier for this resource.
        "selfLink": "A String", # The API REST URL to fetch this resource from.
        "name": "A String", # The name of this blog. This is displayed as the title.
      },
    ],
    "kind": "blogger#blogList", # The kind of this entity. Always blogger#blogList
  }</pre>
</div>

</body></html>