<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_v2.html">Blogger API v3</a> . <a href="blogger_v2.blogs.html">blogs</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(blogId, x__xgafv=None)</a></code></p>
<p class="firstline">Gets a blog by id.</p>
<p class="toc_element">
  <code><a href="#list">list(userId, x__xgafv=None)</a></code></p>
<p class="firstline">Lists blogs by user id, possibly filtered.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(blogId, x__xgafv=None)</code>
  <pre>Gets a blog by id.

Args:
  blogId: string, A parameter (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

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

<div class="method">
    <code class="details" id="list">list(userId, x__xgafv=None)</code>
  <pre>Lists blogs by user id, possibly filtered.

Args:
  userId: string, A parameter (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    &quot;blogUserInfos&quot;: [ # Admin level list of blog per-user information.
      {
        &quot;kind&quot;: &quot;A String&quot;, # The kind of this entity. Always blogger#blogUserInfo.
        &quot;blog_user_info&quot;: { # Information about a User for the Blog.
          &quot;role&quot;: &quot;A String&quot;, # Access permissions that the user has for the blog (ADMIN, AUTHOR, or
              # READER).
          &quot;blogId&quot;: &quot;A String&quot;, # ID of the Blog resource.
          &quot;hasAdminAccess&quot;: True or False, # True if the user has Admin level access to the blog.
          &quot;photosAlbumKey&quot;: &quot;A String&quot;, # The Photo Album Key for the user when adding photos to the blog.
          &quot;userId&quot;: &quot;A String&quot;, # ID of the User.
          &quot;kind&quot;: &quot;A String&quot;, # The kind of this entity. Always blogger#blogPerUserInfo.
        },
        &quot;blog&quot;: { # The Blog resource.
          &quot;posts&quot;: { # The container of posts in this blog.
            &quot;items&quot;: [ # The List of Posts for this Blog.
              {
                &quot;labels&quot;: [ # The list of labels this Post was tagged with.
                  &quot;A String&quot;,
                ],
                &quot;kind&quot;: &quot;A String&quot;, # The kind of this entity. Always blogger#post.
                &quot;id&quot;: &quot;A String&quot;, # The identifier of this Post.
                &quot;replies&quot;: { # The container of comments on this Post.
                  &quot;items&quot;: [ # The List of Comments for this Post.
                    {
                      &quot;author&quot;: { # The author of this Comment.
                        &quot;displayName&quot;: &quot;A String&quot;, # The display name.
                        &quot;image&quot;: { # The creator&#x27;s avatar.
                          &quot;url&quot;: &quot;A String&quot;, # The creator&#x27;s avatar URL.
                        },
                        &quot;id&quot;: &quot;A String&quot;, # The identifier of the creator.
                        &quot;url&quot;: &quot;A String&quot;, # The URL of the creator&#x27;s Profile page.
                      },
                      &quot;blog&quot;: { # Data about the blog containing this comment.
                        &quot;id&quot;: &quot;A String&quot;, # The identifier of the blog containing this comment.
                      },
                      &quot;published&quot;: &quot;A String&quot;, # RFC 3339 date-time when this comment was published.
                      &quot;updated&quot;: &quot;A String&quot;, # RFC 3339 date-time when this comment was last updated.
                      &quot;selfLink&quot;: &quot;A String&quot;, # The API REST URL to fetch this resource from.
                      &quot;inReplyTo&quot;: { # Data about the comment this is in reply to.
                        &quot;id&quot;: &quot;A String&quot;, # The identified of the parent of this comment.
                      },
                      &quot;kind&quot;: &quot;A String&quot;, # The kind of this entry. Always blogger#comment.
                      &quot;post&quot;: { # Data about the post containing this comment.
                        &quot;id&quot;: &quot;A String&quot;, # The identifier of the post containing this comment.
                      },
                      &quot;status&quot;: &quot;A String&quot;, # The status of the comment (only populated for admin users).
                      &quot;id&quot;: &quot;A String&quot;, # The identifier for this resource.
                      &quot;content&quot;: &quot;A String&quot;, # The actual content of the comment. May include HTML markup.
                    },
                  ],
                  &quot;totalItems&quot;: &quot;A String&quot;, # The count of comments on this post.
                  &quot;selfLink&quot;: &quot;A String&quot;, # The URL of the comments on this post.
                },
                &quot;location&quot;: { # The location for geotagged posts.
                  &quot;lng&quot;: 3.14, # Location&#x27;s longitude.
                  &quot;lat&quot;: 3.14, # Location&#x27;s latitude.
                  &quot;span&quot;: &quot;A String&quot;, # Location&#x27;s viewport span. Can be used when rendering a map preview.
                  &quot;name&quot;: &quot;A String&quot;, # Location name.
                },
                &quot;etag&quot;: &quot;A String&quot;, # Etag of the resource.
                &quot;title&quot;: &quot;A String&quot;, # The title of the Post.
                &quot;updated&quot;: &quot;A String&quot;, # RFC 3339 date-time when this Post was last updated.
                &quot;titleLink&quot;: &quot;A String&quot;, # The title link URL, similar to atom&#x27;s related link.
                &quot;customMetaData&quot;: &quot;A String&quot;, # The JSON meta-data for the Post.
                &quot;published&quot;: &quot;A String&quot;, # RFC 3339 date-time when this Post was published.
                &quot;blog&quot;: { # Data about the blog containing this Post.
                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Blog that contains this Post.
                },
                &quot;readerComments&quot;: &quot;A String&quot;, # Comment control and display setting for readers of this post.
                &quot;author&quot;: { # The author of this Post.
                  &quot;displayName&quot;: &quot;A String&quot;, # The display name.
                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the creator.
                  &quot;image&quot;: { # The creator&#x27;s avatar.
                    &quot;url&quot;: &quot;A String&quot;, # The creator&#x27;s avatar URL.
                  },
                  &quot;url&quot;: &quot;A String&quot;, # The URL of the creator&#x27;s Profile page.
                },
                &quot;selfLink&quot;: &quot;A String&quot;, # The API REST URL to fetch this resource from.
                &quot;images&quot;: [ # Display image for the Post.
                  {
                    &quot;url&quot;: &quot;A String&quot;,
                  },
                ],
                &quot;url&quot;: &quot;A String&quot;, # The URL where this Post is displayed.
                &quot;content&quot;: &quot;A String&quot;, # The content of the Post. May contain HTML markup.
                &quot;status&quot;: &quot;A String&quot;, # Status of the post. Only set for admin-level requests.
              },
            ],
            &quot;selfLink&quot;: &quot;A String&quot;, # The URL of the container for posts in this blog.
            &quot;totalItems&quot;: 42, # The count of posts in this blog.
          },
          &quot;updated&quot;: &quot;A String&quot;, # RFC 3339 date-time when this blog was last updated.
          &quot;id&quot;: &quot;A String&quot;, # The identifier for this resource.
          &quot;description&quot;: &quot;A String&quot;, # The description of this blog. This is displayed underneath the title.
          &quot;locale&quot;: { # The locale this Blog is set to.
            &quot;language&quot;: &quot;A String&quot;, # The language this blog is authored in.
            &quot;country&quot;: &quot;A String&quot;, # The country this blog&#x27;s locale is set to.
            &quot;variant&quot;: &quot;A String&quot;, # The language variant this blog is authored in.
          },
          &quot;customMetaData&quot;: &quot;A String&quot;, # The JSON custom meta-data for the Blog.
          &quot;url&quot;: &quot;A String&quot;, # The URL where this blog is published.
          &quot;status&quot;: &quot;A String&quot;, # The status of the blog.
          &quot;pages&quot;: { # The container of pages in this blog.
            &quot;totalItems&quot;: 42, # The count of pages in this blog.
            &quot;selfLink&quot;: &quot;A String&quot;, # The URL of the container for pages in this blog.
          },
          &quot;selfLink&quot;: &quot;A String&quot;, # The API REST URL to fetch this resource from.
          &quot;published&quot;: &quot;A String&quot;, # RFC 3339 date-time when this blog was published.
          &quot;name&quot;: &quot;A String&quot;, # The name of this blog. This is displayed as the title.
          &quot;kind&quot;: &quot;A String&quot;, # The kind of this entry. Always blogger#blog.
        },
      },
    ],
    &quot;kind&quot;: &quot;A String&quot;, # The kind of this entity. Always blogger#blogList.
    &quot;items&quot;: [ # The list of Blogs this user has Authorship or Admin rights over.
      {
        &quot;posts&quot;: { # The container of posts in this blog.
          &quot;items&quot;: [ # The List of Posts for this Blog.
            {
              &quot;labels&quot;: [ # The list of labels this Post was tagged with.
                &quot;A String&quot;,
              ],
              &quot;kind&quot;: &quot;A String&quot;, # The kind of this entity. Always blogger#post.
              &quot;id&quot;: &quot;A String&quot;, # The identifier of this Post.
              &quot;replies&quot;: { # The container of comments on this Post.
                &quot;items&quot;: [ # The List of Comments for this Post.
                  {
                    &quot;author&quot;: { # The author of this Comment.
                      &quot;displayName&quot;: &quot;A String&quot;, # The display name.
                      &quot;image&quot;: { # The creator&#x27;s avatar.
                        &quot;url&quot;: &quot;A String&quot;, # The creator&#x27;s avatar URL.
                      },
                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the creator.
                      &quot;url&quot;: &quot;A String&quot;, # The URL of the creator&#x27;s Profile page.
                    },
                    &quot;blog&quot;: { # Data about the blog containing this comment.
                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the blog containing this comment.
                    },
                    &quot;published&quot;: &quot;A String&quot;, # RFC 3339 date-time when this comment was published.
                    &quot;updated&quot;: &quot;A String&quot;, # RFC 3339 date-time when this comment was last updated.
                    &quot;selfLink&quot;: &quot;A String&quot;, # The API REST URL to fetch this resource from.
                    &quot;inReplyTo&quot;: { # Data about the comment this is in reply to.
                      &quot;id&quot;: &quot;A String&quot;, # The identified of the parent of this comment.
                    },
                    &quot;kind&quot;: &quot;A String&quot;, # The kind of this entry. Always blogger#comment.
                    &quot;post&quot;: { # Data about the post containing this comment.
                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the post containing this comment.
                    },
                    &quot;status&quot;: &quot;A String&quot;, # The status of the comment (only populated for admin users).
                    &quot;id&quot;: &quot;A String&quot;, # The identifier for this resource.
                    &quot;content&quot;: &quot;A String&quot;, # The actual content of the comment. May include HTML markup.
                  },
                ],
                &quot;totalItems&quot;: &quot;A String&quot;, # The count of comments on this post.
                &quot;selfLink&quot;: &quot;A String&quot;, # The URL of the comments on this post.
              },
              &quot;location&quot;: { # The location for geotagged posts.
                &quot;lng&quot;: 3.14, # Location&#x27;s longitude.
                &quot;lat&quot;: 3.14, # Location&#x27;s latitude.
                &quot;span&quot;: &quot;A String&quot;, # Location&#x27;s viewport span. Can be used when rendering a map preview.
                &quot;name&quot;: &quot;A String&quot;, # Location name.
              },
              &quot;etag&quot;: &quot;A String&quot;, # Etag of the resource.
              &quot;title&quot;: &quot;A String&quot;, # The title of the Post.
              &quot;updated&quot;: &quot;A String&quot;, # RFC 3339 date-time when this Post was last updated.
              &quot;titleLink&quot;: &quot;A String&quot;, # The title link URL, similar to atom&#x27;s related link.
              &quot;customMetaData&quot;: &quot;A String&quot;, # The JSON meta-data for the Post.
              &quot;published&quot;: &quot;A String&quot;, # RFC 3339 date-time when this Post was published.
              &quot;blog&quot;: { # Data about the blog containing this Post.
                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Blog that contains this Post.
              },
              &quot;readerComments&quot;: &quot;A String&quot;, # Comment control and display setting for readers of this post.
              &quot;author&quot;: { # The author of this Post.
                &quot;displayName&quot;: &quot;A String&quot;, # The display name.
                &quot;id&quot;: &quot;A String&quot;, # The identifier of the creator.
                &quot;image&quot;: { # The creator&#x27;s avatar.
                  &quot;url&quot;: &quot;A String&quot;, # The creator&#x27;s avatar URL.
                },
                &quot;url&quot;: &quot;A String&quot;, # The URL of the creator&#x27;s Profile page.
              },
              &quot;selfLink&quot;: &quot;A String&quot;, # The API REST URL to fetch this resource from.
              &quot;images&quot;: [ # Display image for the Post.
                {
                  &quot;url&quot;: &quot;A String&quot;,
                },
              ],
              &quot;url&quot;: &quot;A String&quot;, # The URL where this Post is displayed.
              &quot;content&quot;: &quot;A String&quot;, # The content of the Post. May contain HTML markup.
              &quot;status&quot;: &quot;A String&quot;, # Status of the post. Only set for admin-level requests.
            },
          ],
          &quot;selfLink&quot;: &quot;A String&quot;, # The URL of the container for posts in this blog.
          &quot;totalItems&quot;: 42, # The count of posts in this blog.
        },
        &quot;updated&quot;: &quot;A String&quot;, # RFC 3339 date-time when this blog was last updated.
        &quot;id&quot;: &quot;A String&quot;, # The identifier for this resource.
        &quot;description&quot;: &quot;A String&quot;, # The description of this blog. This is displayed underneath the title.
        &quot;locale&quot;: { # The locale this Blog is set to.
          &quot;language&quot;: &quot;A String&quot;, # The language this blog is authored in.
          &quot;country&quot;: &quot;A String&quot;, # The country this blog&#x27;s locale is set to.
          &quot;variant&quot;: &quot;A String&quot;, # The language variant this blog is authored in.
        },
        &quot;customMetaData&quot;: &quot;A String&quot;, # The JSON custom meta-data for the Blog.
        &quot;url&quot;: &quot;A String&quot;, # The URL where this blog is published.
        &quot;status&quot;: &quot;A String&quot;, # The status of the blog.
        &quot;pages&quot;: { # The container of pages in this blog.
          &quot;totalItems&quot;: 42, # The count of pages in this blog.
          &quot;selfLink&quot;: &quot;A String&quot;, # The URL of the container for pages in this blog.
        },
        &quot;selfLink&quot;: &quot;A String&quot;, # The API REST URL to fetch this resource from.
        &quot;published&quot;: &quot;A String&quot;, # RFC 3339 date-time when this blog was published.
        &quot;name&quot;: &quot;A String&quot;, # The name of this blog. This is displayed as the title.
        &quot;kind&quot;: &quot;A String&quot;, # The kind of this entry. Always blogger#blog.
      },
    ],
  }</pre>
</div>

</body></html>