<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, view=None)</a></code></p>
<p class="firstline">Gets one blog by ID.</p>
<p class="toc_element">
  <code><a href="#getByUrl">getByUrl(url, view=None)</a></code></p>
<p class="firstline">Retrieve a Blog by URL.</p>
<p class="toc_element">
  <code><a href="#listByUser">listByUser(userId, status=None, fetchUserInfo=None, role=None, view=None)</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, view=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.
  view: string, Access level with which to view the blog. Note that some fields require elevated access.
    Allowed values
      ADMIN - Admin level detail.
      AUTHOR - Author level detail.
      READER - Reader level detail.

Returns:
  An object of the form:

    {
    "status": "A String", # The status of the blog.
    "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.
        {
          "status": "A String", # Status of the post. Only set for admin-level requests
          "content": "A String", # The content of the Post. May contain HTML markup.
          "kind": "blogger#post", # The kind of this entity. Always blogger#post
          "titleLink": "A String", # The title link URL, similar to atom's related link.
          "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.
              {
                "status": "A String", # The status of the comment (only populated for admin users)
                "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.
          },
          "readerComments": "A String", # Comment control and display setting for readers of 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.
          "etag": "A String", # Etag of the resource.
          "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.
          "images": [ # Display image for the Post.
            {
              "url": "A String",
            },
          ],
          "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, view=None)</code>
  <pre>Retrieve a Blog by URL.

Args:
  url: string, The URL of the blog to retrieve. (required)
  view: string, Access level with which to view the blog. Note that some fields require elevated access.
    Allowed values
      ADMIN - Admin level detail.
      AUTHOR - Author level detail.
      READER - Reader level detail.

Returns:
  An object of the form:

    {
    "status": "A String", # The status of the blog.
    "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.
        {
          "status": "A String", # Status of the post. Only set for admin-level requests
          "content": "A String", # The content of the Post. May contain HTML markup.
          "kind": "blogger#post", # The kind of this entity. Always blogger#post
          "titleLink": "A String", # The title link URL, similar to atom's related link.
          "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.
              {
                "status": "A String", # The status of the comment (only populated for admin users)
                "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.
          },
          "readerComments": "A String", # Comment control and display setting for readers of 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.
          "etag": "A String", # Etag of the resource.
          "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.
          "images": [ # Display image for the Post.
            {
              "url": "A String",
            },
          ],
          "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, status=None, fetchUserInfo=None, role=None, view=None)</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)
  status: string, Blog statuses to include in the result (default: Live blogs only). Note that ADMIN access is required to view deleted blogs. (repeated)
    Allowed values
      DELETED - Blog has been deleted by an administrator.
      LIVE - Blog is currently live.
  fetchUserInfo: boolean, Whether the response is a list of blogs with per-user information instead of just blogs.
  role: string, User access types for blogs to include in the results, e.g. AUTHOR will return blogs where the user has author level access. If no roles are specified, defaults to ADMIN and AUTHOR roles. (repeated)
    Allowed values
      ADMIN - Admin role - Blogs where the user has Admin level access.
      AUTHOR - Author role - Blogs where the user has Author level access.
      READER - Reader role - Blogs where the user has Reader level access (to a private blog).
  view: string, Access level with which to view the blogs. Note that some fields require elevated access.
    Allowed values
      ADMIN - Admin level detail.
      AUTHOR - Author level detail.
      READER - Reader level detail.

Returns:
  An object of the form:

    {
    "items": [ # The list of Blogs this user has Authorship or Admin rights over.
      {
        "status": "A String", # The status of the blog.
        "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.
            {
              "status": "A String", # Status of the post. Only set for admin-level requests
              "content": "A String", # The content of the Post. May contain HTML markup.
              "kind": "blogger#post", # The kind of this entity. Always blogger#post
              "titleLink": "A String", # The title link URL, similar to atom's related link.
              "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.
                  {
                    "status": "A String", # The status of the comment (only populated for admin users)
                    "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.
              },
              "readerComments": "A String", # Comment control and display setting for readers of 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.
              "etag": "A String", # Etag of the resource.
              "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.
              "images": [ # Display image for the Post.
                {
                  "url": "A String",
                },
              ],
              "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
    "blogUserInfos": [ # Admin level list of blog per-user information
      {
        "blog": { # The Blog resource.
          "status": "A String", # The status of the blog.
          "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.
              {
                "status": "A String", # Status of the post. Only set for admin-level requests
                "content": "A String", # The content of the Post. May contain HTML markup.
                "kind": "blogger#post", # The kind of this entity. Always blogger#post
                "titleLink": "A String", # The title link URL, similar to atom's related link.
                "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.
                    {
                      "status": "A String", # The status of the comment (only populated for admin users)
                      "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.
                },
                "readerComments": "A String", # Comment control and display setting for readers of 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.
                "etag": "A String", # Etag of the resource.
                "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.
                "images": [ # Display image for the Post.
                  {
                    "url": "A String",
                  },
                ],
                "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#blogUserInfo", # The kind of this entity. Always blogger#blogUserInfo
        "blog_user_info": { # Information about a User for the Blog.
          "hasAdminAccess": True or False, # True if the user has Admin level access to the blog.
          "kind": "blogger#blogPerUserInfo", # The kind of this entity. Always blogger#blogPerUserInfo
          "userId": "A String", # ID of the User
          "role": "A String", # Access permissions that the user has for the blog (ADMIN, AUTHOR, or READER).
          "photosAlbumKey": "A String", # The Photo Album Key for the user when adding photos to the blog
          "blogId": "A String", # ID of the Blog resource
        },
      },
    ],
  }</pre>
</div>

</body></html>