# Posts: insert

**Requires [authorization](https://developers.google.com/blogger/docs/3.0/reference/posts/insert#auth)**

Adds a post.
[Try it now](https://developers.google.com/blogger/docs/3.0/reference/posts/insert#try-it) or [see an example](https://developers.google.com/blogger/docs/3.0/reference/posts/insert#examples).

## Request

### HTTP request

```
POST https://www.googleapis.com/blogger/v3/blogs/blogId/posts
```

### Parameters

| Parameter name | Value | Description |
|---|---|---|
| **Required parameters** |||
| `blogId` | `string` | ID of the blog to add the post to. |
| **Optional parameters** |||
| `isDraft` | `boolean` | Whether to create the post as a draft |

### Authorization

This request requires authorization with at least one of the following scopes ([read more about authentication and authorization](https://developers.google.com/blogger/docs/3.0/using#auth)).

| Scope |
|---|
| `https://www.googleapis.com/auth/blogger` |

### Request body

In the request body, supply a [Posts resource](https://developers.google.com/blogger/docs/3.0/reference/posts#resource).

## Response

If successful, this method returns a [Posts resource](https://developers.google.com/blogger/docs/3.0/reference/posts#resource) in the response body.

## Examples

**Note:** The code examples available for this method do not represent all supported programming languages (see the [client libraries page](https://developers.google.com/blogger/docs/3.0/libraries) for a list of supported languages).

### Java

Uses the [Java client library](http://code.google.com/p/google-api-java-client/)

```java
// The BlogId of a test blog.
String TEST_BLOG_ID = "8070105920543249955";

// Configure the Java API Client for Installed Native App
HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();

// Configure the Installed App OAuth2 flow.
Credential credential = OAuth2Native.authorize(HTTP_TRANSPORT,
	JSON_FACTORY, new LocalServerReceiver(),
	Arrays.asList(BloggerScopes.BLOGGER));

// Construct the Blogger API access facade object.
Blogger blogger = Blogger.builder(HTTP_TRANSPORT, JSON_FACTORY)
	.setApplicationName("Blogger-PostsInsert-Snippet/1.0")
	.setHttpRequestInitializer(credential).build();

// Construct a post to insert
Post content = new Post();
content.setTitle("A test post");
content.setContent("With <code>HTML</code> content");

// The request action.
Insert postsInsertAction = blogger.posts()
	.insert(TEST_BLOG_ID, content);

// Restrict the result content to just the data we need.
postsInsertAction.setFields("author/displayName,content,published,title,url");

// This step sends the request to the server.
Post post = postsInsertAction.execute();

// Now we can navigate the response.
System.out.println("Title: " + post.getTitle());
System.out.println("Author: " + post.getAuthor().getDisplayName());
System.out.println("Published: " + post.getPublished());
System.out.println("URL: " + post.getUrl());
System.out.println("Content: " + post.getContent());
```

## Try it!


Use the APIs Explorer below to call this method on live data and see the response.