Posts: insert
Stay organized with collections
Save and categorize content based on your preferences.
Requires authorization
Adds a post.
Try it now or see an example.
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).
Scope |
https://www.googleapis.com/auth/blogger |
Request body
In the request body, supply a Posts resource.
Response
If successful, this method returns a 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 for a list of supported languages).
Java
Uses the Java client library
// 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.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-08-08 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-08 UTC."],[[["\u003cp\u003eAdds a new post to a specified blog using the \u003ccode\u003ePOST\u003c/code\u003e method and requires authorization with the \u003ccode\u003ehttps://www.googleapis.com/auth/blogger\u003c/code\u003e scope.\u003c/p\u003e\n"],["\u003cp\u003eThe request body must contain a \u003ccode\u003ePosts resource\u003c/code\u003e specifying the post details, including title and content.\u003c/p\u003e\n"],["\u003cp\u003eSuccessful execution returns a \u003ccode\u003ePosts resource\u003c/code\u003e with details of the created post such as title, author, publication date, URL, and content.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use various client libraries, like the Java client library shown in the example, to interact with the API.\u003c/p\u003e\n"],["\u003cp\u003eAn interactive API Explorer is available for users to test the method with live data and examine the responses directly.\u003c/p\u003e\n"]]],[],null,["# Posts: insert\n\n**Requires [authorization](#auth)**\n\nAdds a post.\n[Try it now](#try-it) or [see an example](#examples).\n\nRequest\n-------\n\n### HTTP request\n\n```\nPOST https://www.googleapis.com/blogger/v3/blogs/blogId/posts\n```\n\n### Parameters\n\n| Parameter name | Value | Description |\n|----------------|-----------|---------------------------------------|\n| **Required parameters** |||\n| `blogId` | `string` | ID of the blog to add the post to. |\n| **Optional parameters** |||\n| `isDraft` | `boolean` | Whether to create the post as a draft |\n\n### Authorization\n\nThis request requires authorization with at least one of the following scopes ([read more about authentication and authorization](/blogger/docs/3.0/using#auth)).\n\n| Scope |\n|-------------------------------------------|\n| `https://www.googleapis.com/auth/blogger` |\n\n### Request body\n\nIn the request body, supply a [Posts resource](/blogger/docs/3.0/reference/posts#resource).\n\nResponse\n--------\n\nIf successful, this method returns a [Posts resource](/blogger/docs/3.0/reference/posts#resource) in the response body.\n\nExamples\n--------\n\n**Note:** The code examples available for this method do not represent all supported programming languages (see the [client libraries page](/blogger/docs/3.0/libraries) for a list of supported languages). \n\n### Java\n\nUses the [Java client library](http://code.google.com/p/google-api-java-client/) \n\n```java\n// The BlogId of a test blog.\nString TEST_BLOG_ID = \"8070105920543249955\";\n\n// Configure the Java API Client for Installed Native App\nHttpTransport HTTP_TRANSPORT = new NetHttpTransport();\nJsonFactory JSON_FACTORY = new JacksonFactory();\n\n// Configure the Installed App OAuth2 flow.\nCredential credential = OAuth2Native.authorize(HTTP_TRANSPORT,\n\tJSON_FACTORY, new LocalServerReceiver(),\n\tArrays.asList(BloggerScopes.BLOGGER));\n\n// Construct the Blogger API access facade object.\nBlogger blogger = Blogger.builder(HTTP_TRANSPORT, JSON_FACTORY)\n\t.setApplicationName(\"Blogger-PostsInsert-Snippet/1.0\")\n\t.setHttpRequestInitializer(credential).build();\n\n// Construct a post to insert\nPost content = new Post();\ncontent.setTitle(\"A test post\");\ncontent.setContent(\"With \u003ccode\u003eHTML\u003c/code\u003e content\");\n\n// The request action.\nInsert postsInsertAction = blogger.posts()\n\t.insert(TEST_BLOG_ID, content);\n\n// Restrict the result content to just the data we need.\npostsInsertAction.setFields(\"author/displayName,content,published,title,url\");\n\n// This step sends the request to the server.\nPost post = postsInsertAction.execute();\n\n// Now we can navigate the response.\nSystem.out.println(\"Title: \" + post.getTitle());\nSystem.out.println(\"Author: \" + post.getAuthor().getDisplayName());\nSystem.out.println(\"Published: \" + post.getPublished());\nSystem.out.println(\"URL: \" + post.getUrl());\nSystem.out.println(\"Content: \" + post.getContent());\n```\n\nTry it!\n-------\n\n\nUse the APIs Explorer below to call this method on live data and see the response."]]