使用此端点以获取动态并将之发布到公共主页。公共主页动态中包含与 Facebook 公共主页进行的任何互动,例如:此公共主页发布的帖子和链接、此公共主页的访客以及已标记此公共主页的公开帖。
/{page-post-id}
端点:允许您更新特定公共主页帖子。/{page-id}/tagged
端点:仅会检索已标记此公共主页的所有公开帖。Facebook 公共主页帖子。
新版公共主页体验支持此 API。
请求访问口令的用户必须能在此公共主页上执行以下其中一项任务:
并已向应用授予以下必要权限:
如果您不是公共主页的所有者或管理者,您将需要:
GET /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get(
'/{page-id}/feed',
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{page-id}/feed",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{page-id}/feed",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{page-id}/feed"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
{ "data": [ { "created_time": "2019-05-17T16:24:04+0000", "message": "Become a Facebook developer!", "id": "{page-id}_2191966997525824" }, { "created_time": "2019-02-26T21:35:42+0000", "message": "Hello world!", "id": "{page-id}_2072371269485398" }, ... { "created_time": "2018-01-26T20:57:22+0000", "message": "Friday Funday!", "id": "{page-id}_1569752556413941" } ], "paging": { "cursors": { "before": "Q2c4U1pXNT...", "after": "Q2c4U1pXNT..." }, "next": "https://graph.facebook.com/vX.X/{page-id}/feed?access_token={your-page-access-token}&pretty=0&limit=25&after=Q2c4U1pXNT..." } }
limit
字段的限制,您最多只能读取 100 个动态帖子。如果尝试读取更多帖子,您会收到告知您不要超过 100 个帖子的错误消息。/{page-id}/tagged
来显示标记过此公共主页的帖子时,显示结果会包含来自其他公共主页的帖子,但前提是这些公共主页必须真实可信。限制:动态端点会获取所有帖子(已发布和未发布)。唯一区别是未发布的帖子不会在实际动态中列出。但是,您可以将 is_published 字段添加到 /feed 端点,以告知开发者 /feed 端点中列出的帖子是否已发布
名称 | 类型 | 说明 | ||
---|---|---|---|---|
id | string | 帖子编号。 | ||
actions | object | 帖子、评论、赞和分享上的操作链接。 | ||
admin_creator | object | 公共主页帖子的管理员创建者。如果公共主页只有一位管理员,则不会返回任何数据。需要公共主页访问口令和 | ||
allowed_advertising_objects | string | 可以在其下宣传此帖子的唯一目标。 | ||
application | object | 发布此帖子的应用的相关信息。 | ||
attachments | object | 与动态相关的任何附件。请参阅动态附件节点参考资料,获取 | ||
backdated_time | float | 回溯帖子的回溯时间。对于常规帖子,此字段设置为 null。 | ||
call_to_action | object | 在任何公共主页帖子中发布的移动应用互动广告中使用的行动号召类型。 | ||
can_reply_privately | boolean | 公共主页浏览者能否私信回复此帖子。需要 | ||
caption 已停用 v3.3 及以上版本的公共主页帖子。 | string | 帖子中显示在 | ||
child_attachments | object | 多链接分享帖子的子分享内容。 | ||
created_time | float | 帖子的最初发布时间。对于和生活纪事相关的帖子,此项是该生活纪事的日期和时间。 | ||
description 已停用 v3.3 及以上版本的公共主页帖子。改用 | string | 对帖子中链接的说明(显示在 | ||
feed_targeting | object | 控制此帖子动态定位的对象。这些小组中的任何人都更有可能看到这篇帖子,其他人看到的可能性较小,但仍有可能看到。此处显示的任何定位字段都可以使用,但均为非必填项(仅适用于公共主页)。 | ||
from |
| 创建帖子的公共主页、小组或事件的 | ||
full_picture | string | 帖子中发布或从帖子中的链接抓取的全尺寸照片的网址。如果照片的最大尺寸超过 720 像素,则系统会调整照片尺寸,将最大尺寸设置为 720 像素。 | ||
icon | string | 表示此帖子类型的图标链接。 | ||
instagram_eligibility | enum{} | 帖子是否可以在 Instagram 上推广。如果可以推广,则返回枚举
| ||
is_eligible_for_promotion | boolean | 表示帖子是否符合推广条件。 | ||
is_expired | boolean | 表示帖子是否具有已超期的过期时间。 | ||
is_hidden | boolean | 表明帖子是否标记为隐藏(仅适用于公共主页)。此字段可将帖子隐藏于公共主页的时间线中,但用户仍可在 Facebook 的其他地点(如链接)中见到该帖子。 | ||
is_instagram_eligible | string | 帖子是否可以在 Instagram 上推广。 | ||
is_popular | boolean | 表示帖子是否为热门帖子。取决于以覆盖人数百分比表示的总操作数是否超过某个阈值。 | ||
is_published | boolean | 表示定时帖是否已发布(仅适用于定时公共主页帖子,对于用户帖子和即时发布的帖子,此值一律为 | ||
is_spherical | boolean | 表示帖子是否为全景视频帖。 | ||
link 已停用 v3.3 及以上版本的公共主页帖子。 改用 | string | 附加至此帖子的链接。 | ||
message | string | 帖子中的状态消息。 | ||
message_tags | array |
| ||
name 已停用 v3.3 及以上版本的公共主页帖子。 改用 | string |
| ||
object_id 已停用 v3.3 及以上版本的公共主页帖子。 改用 | string | 附于帖子中的任何已上传照片或视频的编号。 | ||
parent_id | string | 此帖子的父级帖子的编号(如果存在)。例如,如果此动态为“有帖子提及了您的公共主页”,则 | ||
permalink_url | string | 指向 www.facebook.com 上帖子的永久静态网址。示例:https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553。 | ||
place | string | 与此帖子相关的地点的编号。 | ||
privacy | object | 帖子的隐私设置。 | ||
promotable_id | string | 用于推广无法直接推广的动态的帖子编号。 | ||
promotion_eligibility 已停用。请参阅 | boolean | |||
promotion_status 已停用。请参阅 | string | |||
properties | object | 任何附加视频的属性列表,例如视频长度。 | ||
sheduled_publish_time | float | 帖子计划发布时间的 Unix 时间戳。 | ||
shares | object | 此帖子的分享次数。分享次数可能包括已删除的帖子和出于隐私原因您无法查看的帖子。 | ||
source 已停用 v3.3 及以上版本的公共主页帖子。 改用 | string | 附于帖子中的任何 Flash 影片或视频文件的网址。 | ||
status_type | enum{} | 状态更新类型。该字段包含以下值:
| ||
story | string | 用户无意生成的动态(例如,添加照片时生成的动态)的文本。必须在应用中启用“包含近期活动动态”迁移才能检索此字段。 | ||
story_tags | array | 帖子说明中的标签列表。 | ||
subscribed | boolean | 表示用户是否已订阅帖子。 | ||
targeting | object | 限制此内容受众的对象。只有指定人口统计数据中的受众可以查看此内容。人口统计数据是附加部分。每个附加值将其受众添加到累计目标受众。这些值不会覆盖任何可能存在的主页层级人口统计限制。 | ||
to |
| 帖子中提及或定位的个人主页。如果您使用用户访问口令读取此字段,则其仅返回当前用户。 | ||
type 已停用 v3.3 及以上版本的公共主页帖子。 改用 | enum{} | 表明此帖子对象类型的字符串。
| ||
updated_time | float | 帖子的上次更新(即创建或编辑帖子,或者用户对帖子进行评论)时间,以 Unix 时间戳表示。 | ||
video_buying_eligibility | array | 表示是否可以使用不同视频购买选项来推广帖子。此字段会在视频符合条件时返回空列表。否则,其返回的列表会说明无法推广帖子的原因。 | ||
with_tags |
| 被标记为附带帖子发布者的个人主页。如果您使用用户访问口令读取此字段,则其仅返回当前用户。 图谱 API 和市场营销 API 3.3 及更高版本将于 2019 年 4 月 30 日停用此端点。在 2019 年 7 月 30 日前,过去 90 天内已使用此端点的应用可以继续通过 3.2 及更低版本的 API 使用此端点。从 2019 年 4 月 30 日起,过去 90 天内未曾使用此端点的应用将无法使用此端点。 |
在查找可以速推的帖子时,必须使用 promotable_id
来创建广告。大多数情况下,此编号与 post_id
相同,但并非总是如此。注意:帖子被速推后,您必须有权访问已绑定的广告账户,才能编辑该帖子。
curl -i -X GET \
"https://graph.facebook.com/{your-page-id}/feed
?fields=is_eligible_for_promotion,promotable_id
&access_token={your-page-access-token}"
{ "data": [ { "is_eligible_for_promotion": true, "promotable_id": "1353269864728879_1943344825721377", "id": "1353269864728879_1943344825721377" }, { "is_eligible_for_promotion": true, "promotable_id": "1353269864728879_1943313139057879", "id": "1353269864728879_1943378089051384" }, { "is_eligible_for_promotion": false, "promotable_id": "1353269864728879_1942095249179668", "id": "1353269864728879_1942095249179668" }, ...
请访问帮助中心,了解帖子不能速推的原因。
请访问我们的帖子参考文档,获取所有可用的帖子字段。
您可以使用此连线发布到公共主页。必须提供 link
或 message
。
新版公共主页体验支持此 API。
如果要执行 CREATE_CONTENT
任务,您将需要:
帖子将以该公共主页的身份显示。
由可以在所查询公共主页上执行
的用户请求的公共主页访问口令
注意:如果查看器或应用无法查看 link
的网址,则帖子将无法发布。
POST /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com
message=This+is+a+test+message
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/{page-id}/feed',
array (
'message' => 'This is a test message',
),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{page-id}/feed",
"POST",
{
"message": "This is a test message"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
Bundle params = new Bundle();
params.putString("message", "This is a test message");
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{page-id}/feed",
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
NSDictionary *params = @{
@"message": @"This is a test message",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{page-id}/feed"
parameters:params
HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
{"id":"post-id"}
此端点支持先写入后读取,并且可以即时返回由读取操作返回的任何字段。
在图谱探索工具中使用 POST {page-id}/feed
进行如下测试:
名称 | 类型 | 描述 |
---|---|---|
actions | array | 附加于帖子的操作链接。 |
backdated_time | float | 指定过去的某个时间,以将此帖子回溯到该时间。 |
backdated_time_granularity | enum{year, month, day, hour, minute} | 控制回溯帖子的显示方式。例如,如果您选择 |
child_attachments | object | 用于在帖子中指定多个链接。最少可以指定 2 个对象,最多可以指定 5 个对象。如果您设置 multi_share_optimized 为“true”,则您最多可以上传 10 个对象,但 Facebook 只会显示前 5 个。 |
feed_targeting | object | 控制此内容动态定位的对象。这些小组中的任何人都更有可能看到此内容,其他人看到的可能性较小,但仍有可能看到。您可以使用此处显示的任何定位字段,但它们并非必要项。 |
link | string | 附加至帖子的链接网址。必须提供 |
message | string | 帖子的正文。该消息可以包含提及的 Facebook 公共主页、 |
multi_share_end_card | Boolean | 如果设置为 |
multi_share_optimized | Boolean | 如果设置为 |
object_attachment | string | 用户相册中现有图片的 Facebook 编号将用作缩略图。用户必须是照片的所有者,并且该照片不得为消息附件的一部分。 |
place | string | 此帖子关联位置的公共主页编号。 |
published | Boolean | 是否有显示关于此最新发布对象的动态。默认值为 |
scheduled_publish_time | timestamp | UNIX 时间戳表示帖子的发布时间。时间须为 API 请求后 10 分钟到 75 日之间。 |
tags | csv[string] | 逗号分隔清单,用于列出此帖子中所标记用户的用户编号。您必须指定 |
targeting | object | 限制此内容受众的对象。任何不在这些人口统计数据中的用户都将无法查看此内容。这不会覆盖任何可能存在的公共主页层级人口统计数据限制。 |
向公共主页帖子添加感受或活动和图标。在发布感受或活动时,需要 og_action_type_id
和 og_object_id
。og_icon_id
是可选项,但如果不使用,系统会根据 og_object_id
自动提供图标。
POST /v21.0/page-id/feed HTTP/1.1
Host: graph.facebook.com
message=This+is+a+test+activity&og_action_type_id=383634835006146&og_object_id=136050896551329&og_icon_id=609297155780549
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/page-id/feed',
array (
'message' => 'This is a test activity',
'og_action_type_id' => '383634835006146',
'og_object_id' => '136050896551329',
'og_icon_id' => '609297155780549',
),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/page-id/feed",
"POST",
{
"message": "This is a test activity",
"og_action_type_id": "383634835006146",
"og_object_id": "136050896551329",
"og_icon_id": "609297155780549"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
Bundle params = new Bundle();
params.putString("message", "This is a test activity");
params.putString("og_action_type_id", "383634835006146");
params.putString("og_object_id", "136050896551329");
params.putString("og_icon_id", "609297155780549");
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/page-id/feed",
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
NSDictionary *params = @{
@"message": @"This is a test activity",
@"og_action_type_id": @"383634835006146",
@"og_object_id": @"136050896551329",
@"og_icon_id": @"609297155780549",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/page-id/feed"
parameters:params
HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
响应为 post_id
。
我们支持下列类型的公共主页隐藏帖:
帖子类型 | 描述 |
---|---|
链接公共主页帖子是向您的网站分享链接最有成效的方法。支持选择性替代图像和额外文本。 | |
此为配有文本说明且说明中包含可选链接的照片公共主页帖子。 | |
此为配有文本说明的公共主页帖子。 | |
此为配有可选文本说明的视频公共主页帖子。 |
公共主页隐藏帖与已发布公共主页帖子的处理方式相同,不过前者不会在 /feed
中出现。
如要查看公共主页隐藏帖列表,请查询 is_published
字段。
curl -i -X GET \
"https://graph.facebook.com/{page-id}/feed
?fields=is_published
&access_token={your-page-access-token}"
如需查看 Facebook.com 上的帖子,您可以前往 https://www.facebook.com/{post-id} 查看大多数帖子类型,或者检索帖子的 actions
字段,此字段会包含用户可以对帖子点赞或评论的网址。
您可以使用行动号召按钮来完善您的链接公共主页帖子。您可以将以下 call_to_action
字段添加到新的链接公共主页帖子中。
名称 | 类型 | 描述 |
---|---|---|
|
| 可以指定行动号召按钮的对象。这应该是您希望用户在查看您的帖子时采取的操作。点击此按钮会使用户访问您指定的链接。 |
利用自定义链接图像向公共主页发布链接。动态的附件会呈现检索自链接的图像。目前,您可以在可选 picture
参数中提供新图像网址,以覆盖该图像。thumbnail
参数亦可提供类似功能,二者的关键区别在于此参数接受在 API 调用中上传到 Facebook 的本地图像文件。
如要验证链接所有权,请检查 URL
节点上的 ownership_permissions{can_customize_link_posts}
字段。您必须在发布新链接前调用此端点。如果没有此步骤,自定义链接公共主页帖子将无法用于未抓取链接。详情请参阅我们的链接所有权指南。2.10 及更低版本的 picture
、name
、thumbnail
和 description
均已停用。所有版本的 caption
均已停用。
参数 | 类型 | 描述 |
---|---|---|
| string | 链接的说明(在链接文字下方显示)。如果未指定,此字段会自动填充从链接获取的信息,通常为页面的标题。 |
| string | 链接附件的名称。此字段会自动填充从链接获取的信息。 |
| string | 图像的网址。系统将从 |
| 文件 | 要上传的图像文件。接受 |
thumbnail
参数仅可用于 Facebook 公共主页上的链接帖子。thumbnail
参数的优先级高于 picture
参数。如果二者皆有提供,则不使用 picture
参数。thumbnail
参数接受扩展名为 .jpg
、.jpeg
、.gif
或 .png
的图像。thumbnail
参数。您可以向 /page/feed
连线发送 POST 请求,以向公共主页发布链接。将 publish
参数设为 1
即可立即发布帖子,设为 0
即可创建隐藏帖以供日后发布。
curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
?message=Become%20a%20Facebook%20developer!
&link=https%3A%2F%2Fdevelopers.facebook.com
&published=1
&access_token={your-page-access-token}"
{"id":"{post-id}"}
call_to_action
字段用于指定相应操作和相关链接。此链接应该与公共主页帖子的 link
参数相同。在此调用中,title
、description
、caption
和 picture
为可选项;如未提供,Facebook 会从链接的开放图谱元数据中读取同等属性。如果已关联的网页不具有开放图谱元数据,Facebook 会尝试通过抓取网页内容来猜测这些属性。
curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
?message=Become a Facebook developer!
&link=https://developers.facebook.com
&call_to_action={"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}
&published=1
&access_token={your-page-access-token}"
{"id":"{post-id}"}
curl -F 'link=http://www.example.com' \ -F 'thumbnail=@/local/path/to/file/on/hard/drive/image.jpg' \ -F 'access_token=page-access-token'\ https://graph.facebook.com/v2.11/page-id/feed
返回值
{"id":"post-id"}
curl -F 'link=http://www.example.com' \ -F 'picture=https://www.example.com/path/to/image.jpg' \ -F 'access_token=page-access-token'\ https://graph.facebook.com/v2.11/page-id/feed
返回值
{"id":"post-id>"}
详情请访问我们的照片节点参考文档。
详情请访问我们的公共主页视频参考文档。
详情请访问我们的公共主页帖子成效分析参考文档。
您无法使用此连线更新帖子,但您可以使用 /{post-id}
节点更新帖子。
您无法使用此连线删除帖子,但您可以使用 /{post-id}
节点删除帖子。