المشاركات: قائمة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
لاسترداد قائمة بالمشاركات.
جرِّب الخدمة الآن أو اطّلِع على مثال.
يجب الحصول على تفويض إذا كانت المشاركات على مدونة خاصة. إذا كانت المشاركات على مدونة عامة، فيمكن استدعاء هذه الطريقة بدون إذن.
الطلب
طلب HTTP
GET https://www.googleapis.com/blogger/v3/blogs/blogId/posts
المعلمات
اسم المعلَمة |
القيمة |
الوصف |
المَعلمات المطلوبة |
blogId |
string |
رقم تعريف المدونة المطلوب جلب المشاركات منها.
|
المَعلمات الاختيارية |
endDate |
datetime |
آخر تاريخ نشر يمكن استرجاعه، ويجب أن يكون date-time بالتنسيق RFC 3339.
|
fetchBodies |
boolean |
ما إذا كان يتم تضمين محتوى النص الأساسي للمشاركات (القيمة التلقائية: true) ويجب ضبط هذه السمة على "خطأ" عندما لا تكون نصوص النشر مطلوبة، وذلك للحدّ من حركة المرور.
(القيمة التلقائية: true )
|
fetchImages |
boolean |
ما إذا كان يتم تضمين البيانات الوصفية لعنوان URL الخاص بالصورة لكل مشاركة
|
labels |
string |
قائمة بالتصنيفات المفصولة بفواصل للبحث عنها.
|
maxResults |
unsigned integer |
الحد الأقصى لعدد المشاركات المطلوب جلبها.
|
orderBy |
string |
يتم تطبيق ترتيب الترتيب على النتائج.
في ما يلي القيم المقبولة:
- "
published ": الترتيب حسب تاريخ نشر المشاركة
- "
updated ": الترتيب حسب تاريخ آخر تعديل للمشاركة
|
sortOption |
string |
UNAVAILABLE NOW
تم تطبيق اتجاه الترتيب على النتائج.
في ما يلي القيم المقبولة:
- "
descending ": ترتيب المشاركات تنازليًا حسب الوقت (تلقائي)
- "
ascending ": ترتيب المشاركات تصاعديًا حسب الوقت
|
pageToken |
string |
الرمز المميز للمتابعة إذا تم تقسيم الطلب إلى صفحات.
|
startDate |
datetime |
أقرب تاريخ نشر يمكن استرجاعه، وهو date-time بالتنسيق RFC 3339.
|
status |
string |
في ما يلي القيم المقبولة:
- "
draft ": مسودّات المشاركات
- "
live ": المشاركات المنشورة
- "
scheduled ": المشاركات التي تم تحديد موعد لنشرها في المستقبل.
|
view |
string |
في ما يلي القيم المقبولة:
- "
ADMIN ": تفاصيل على مستوى المشرف
- "
AUTHOR ": تفاصيل على مستوى المؤلف
- "
READER ": تفاصيل مستوى القارئ
|
نص الطلب
لا تقدِّم نص طلب باستخدام هذه الطريقة.
الرد
في حال نجاح هذه الطريقة، سيتم عرض نص استجابة بالبنية التالية:
{
"kind": "blogger#postList",
"nextPageToken": string,
"items": [
posts Resource
]
}
اسم الموقع |
القيمة |
الوصف |
ملاحظات |
kind |
string |
نوع هذا الكيان. دائمًا blogger#postList . |
|
nextPageToken |
string |
الرمز المميّز للتقسيم على صفحات لجلب الصفحة التالية، إن توفّر. |
|
items[] |
list |
قائمة بالمشاركات الخاصة بهذه المدونة |
|
أمثلة
ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).
Java
لاستخدام مكتبة برامج Java
// The BlogId for the Blogger Buzz blog
String BUZZ_BLOG_ID = "2399953";
// 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-PostsList-Snippet/1.0")
.setHttpRequestInitializer(credential).build();
// The request action.
List postsListAction = blogger.posts().list(BUZZ_BLOG_ID);
// Restrict the result content to just the data we need.
postsListAction.setFields("items(author/displayName,content,published,title,url),nextPageToken");
// This step sends the request to the server.
PostList posts = postsListAction.execute();
// Now we can navigate the response.
int postCount = 0;
int pageCount = 0;
while (posts.getItems() != null && !posts.getItems().isEmpty()) {
for (Post post : posts.getItems()) {
System.out.println("Post #"+ ++postCount);
System.out.println("\tTitle: "+post.getTitle());
System.out.println("\tAuthor: "+post.getAuthor().getDisplayName());
System.out.println("\tPublished: "+post.getPublished());
System.out.println("\tURL: "+post.getUrl());
System.out.println("\tContent: "+post.getContent());
}
// Pagination logic
String pageToken = posts.getNextPageToken();
if (pageToken == null || ++pageCount >= 5) {
break;
}
System.out.println("-- Next page of posts");
postsListAction.setPageToken(pageToken);
posts = postsListAction.execute();
}
جرّب الآن
يمكنك استخدام "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الردّ.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2024-08-21 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2024-08-21 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eRetrieves a list of posts from a specified blog, requiring authorization for private blogs but not for public ones.\u003c/p\u003e\n"],["\u003cp\u003eAllows filtering of posts by date, labels, status, and other criteria using optional parameters.\u003c/p\u003e\n"],["\u003cp\u003eSupports pagination to retrieve large lists of posts in manageable chunks.\u003c/p\u003e\n"],["\u003cp\u003eProvides options to control the inclusion of post bodies and image metadata for traffic optimization.\u003c/p\u003e\n"],["\u003cp\u003eReturns a response containing post details like title, author, publication date, content, and URL.\u003c/p\u003e\n"]]],[],null,["# Posts: list\n\nRetrieves a list of posts.\n[Try it now](#try-it) or [see an example](#examples).\n\n[Authorization](/blogger/docs/3.0/using#auth) is required if the posts are on a blog that is private. If the posts are on a blog that is public, then this method can be called without authorization.\n\nRequest\n-------\n\n### HTTP request\n\n```\nGET 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` | The ID of the blog to fetch posts from. |\n| **Optional parameters** |||\n| `endDate` | `datetime` | Latest post date to fetch, a `date-time` with [RFC 3339](http://www.ietf.org/rfc/rfc3339.txt\"\") formatting. |\n| `fetchBodies` | `boolean` | Whether the body content of posts is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic. (Default: `true`) |\n| `fetchImages` | `boolean` | Whether image URL metadata for each post is included. |\n| `labels` | `string` | Comma-separated list of labels to search for. |\n| `maxResults` | `unsigned integer` | Maximum number of posts to fetch. |\n| `orderBy` | `string` | Sort order applied to results. \u003cbr /\u003e \u003cbr /\u003e Acceptable values are: - \"`published`\": Order by the date the post was published - \"`updated`\": Order by the date the post was last updated |\n| `sortOption` | `string` | `UNAVAILABLE NOW` \u003cbr /\u003e \u003cbr /\u003e Sort direction applied to results. \u003cbr /\u003e \u003cbr /\u003e Acceptable values are: - \"`descending`\": Sort posts in descending order in time (default) - \"`ascending`\": Sort posts in ascending order in time |\n| `pageToken` | `string` | Continuation token if the request is paged. |\n| `startDate` | `datetime` | Earliest post date to fetch, a `date-time` with [RFC 3339](http://www.ietf.org/rfc/rfc3339.txt) formatting. |\n| `status` | `string` | Acceptable values are: - \"`draft`\": Draft posts - \"`live`\": Published posts - \"`scheduled`\": Posts that are scheduled to publish in future. |\n| `view` | `string` | Acceptable values are: - \"`ADMIN`\": Admin level detail - \"`AUTHOR`\": Author level detail - \"`READER`\": Reader level detail |\n\n### Request body\n\nDo not supply a request body with this method.\n\nResponse\n--------\n\nIf successful, this method returns a response body with the following structure:\n\n```objective-c\n{\n \"kind\": \"blogger#postList\",\n \"nextPageToken\": string,\n \"items\": [\n posts Resource\n ]\n}\n```\n\n| Property name | Value | Description | Notes |\n|-----------------|----------|---------------------------------------------------------|-------|\n| `kind` | `string` | The kind of this entity. Always `blogger#postList`. | |\n| `nextPageToken` | `string` | Pagination token to fetch the next page, if one exists. | |\n| `items[]` | `list` | The list of posts for this blog. | |\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 for the Blogger Buzz blog\nString BUZZ_BLOG_ID = \"2399953\";\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-PostsList-Snippet/1.0\")\n\t.setHttpRequestInitializer(credential).build();\n\n// The request action.\nList postsListAction = blogger.posts().list(BUZZ_BLOG_ID);\n\n// Restrict the result content to just the data we need.\npostsListAction.setFields(\"items(author/displayName,content,published,title,url),nextPageToken\");\n\n// This step sends the request to the server.\nPostList posts = postsListAction.execute();\n\n// Now we can navigate the response.\nint postCount = 0;\nint pageCount = 0;\nwhile (posts.getItems() != null && !posts.getItems().isEmpty()) {\n\tfor (Post post : posts.getItems()) {\n\t\tSystem.out.println(\"Post #\"+ ++postCount);\n\t\tSystem.out.println(\"\\tTitle: \"+post.getTitle());\n\t\tSystem.out.println(\"\\tAuthor: \"+post.getAuthor().getDisplayName());\n\t\tSystem.out.println(\"\\tPublished: \"+post.getPublished());\n\t\tSystem.out.println(\"\\tURL: \"+post.getUrl());\n\t\tSystem.out.println(\"\\tContent: \"+post.getContent());\n\t}\n\n\t// Pagination logic\n\tString pageToken = posts.getNextPageToken();\n\tif (pageToken == null || ++pageCount \u003e= 5) {\n\t\tbreak;\n\t}\n\tSystem.out.println(\"-- Next page of posts\");\n\tpostsListAction.setPageToken(pageToken);\n\tposts = postsListAction.execute();\n}\n```\n\nTry it!\n-------\n\n\nUse the APIs Explorer below to call this method on live data and see the response."]]