เวอร์ชันของ API กราฟ

ฟีดของเพจ

ใช้ตำแหน่งข้อมูลนี้เพื่อดึงข้อมูลและเผยแพร่ไปยังเพจ ฟีดของเพจจะครอบคลุมการโต้ตอบทั้งหมดกับเพจ Facebook ซึ่งรวมถึงโพสต์และลิงก์ที่เพจนี้เผยแพร่ ผู้เข้าชมเพจนี้ และโพสต์สาธารณะที่มีการแท็กเพจดังกล่าว

ดูเพิ่มเติม

การอ่าน

โพสต์ของเพจ Facebook

ประสบการณ์การใช้งานเพจแบบใหม่

ระบบรองรับ API นี้สำหรับประสบการณ์การใช้งานเพจแบบใหม่

ข้อกำหนด

บุคคลที่ส่งคำขอโทเค็นการเข้าถึงจะต้องสามารถดำเนินงานอย่างใดอย่างหนึ่งต่อไปนี้บนเพจได้

  • CREATE_CONTENT – เผยแพร่เนื้อหาบนเพจในฐานะเพจ
  • MANAGE – กำหนดและจัดการงานบนเพจ
  • MODERATE
    • ตอบกลับความคิดเห็นต่อโพสต์บนเพจในฐานะเพจ
    • ลบความคิดเห็นต่อโพสต์บนเพจ
    • เผยแพร่เนื้อหาไปยัง Instagram จาก Facebook, ตอบกลับและลบความคิดเห็น, ส่ง DM, ซิงค์ข้อมูลติดต่อของธุรกิจ และสร้างโฆษณา ในกรณีที่มีการเชื่อมต่อบัญชี Instagram กับเพจ

และได้มอบสิทธิ์การอนุญาตที่จำเป็นต่อไปนี้ให้กับแอพ

หากคุณไม่ได้เป็นเจ้าของหรือจัดการเพจนั้น คุณต้องใช้:

เมื่อใช้ฟีเจอร์การเข้าถึงเนื้อหาสาธารณะบนเพจ ให้ใช้โทเค็นการเข้าถึงของผู้ใช้ระบบเพื่อหลีกเลี่ยงประเด็นปัญหาการจำกัดอัตรา

ตัวอย่างคำขอ

Graph API Explorer
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
}];

ตัวอย่างการตอบสนองของ JSON

{
  "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..."
  }
}

ข้อจำกัด

  • โพสต์ที่หมดอายุแล้ว – หากโพสต์หมดอายุแล้ว คุณจะไม่สามารถดูเนื้อหาโดยใช้ API กราฟได้อีกต่อไป
  • จำนวนโพสต์สูงสุด
    • API จะส่งกลับโพสต์ที่เผยแพร่แล้วและมีการจัดอันดับประมาณ 600 โพสต์ต่อปี
    • คุณสามารถอ่านโพสต์บนฟีดที่มีช่อง limit ได้สูงสุด 100 รายการเท่านั้น หากคุณพยายามอ่านเกินกว่าที่กำหนด คุณจะได้รับข้อความแสดงข้อผิดพลาดไม่ให้เกิน 100
  • CTA ข้อความ - ผู้ใช้ไม่สามารถใช้โทเค็นการเข้าถึงของเพจอื่นเพื่อเข้าถึงโพสต์ที่มี CTA ข้อความได้ เนื่องจากเพจต่างๆ ไม่สามารถส่งข้อความถึงเพจอื่นได้
  • ข้อมูลที่ระบุตัวบุคคลได้แบบสาธารณะ - ข้อมูลผู้ใช้จะไม่รวมอยู่ในการตอบกลับต่างๆ เว้นแต่คุณจะสร้างคำขอด้วยโทเค็นการเข้าถึงเพจ
  • โพสต์ที่เผยแพร่ – ระบบจะส่งคืนโพสต์ที่เผยแพร่และเลิกเผยแพร่เมื่อสืบค้นตำแหน่งข้อมูล "/{page-id}/feed" ใช้ช่อง "is_published" เพื่อส่งคืนเฉพาะโพสต์ที่เผยแพร่
  • โพสต์ที่แชร์ - โพสต์บนเพจที่แชร์โพสต์มาจากเพจหรือบุคคลอื่นอาจไม่ปรากฏให้เห็น หากโพสต์ต้นฉบับไม่ได้ปรากฏให้เห็นเมื่อใช้โทเค็นการเข้าถึง
  • โพสต์ที่แท็ก - เมื่อคุณใช้ /{page-id}/tagged เพื่อแสดงโพสต์ที่แท็กเพจนี้ ผลลัพธ์จะรวมโพสต์จากเพจอื่นก็ต่อเมื่อเพจเหล่านั้นเป็นเพจที่แท้จริง
  • ตัวแทนผู้ใช้ - ตัวแทนผู้ใช้ที่ใช้งานได้ซึ่งได้รับอนุญาตสำหรับการเรียกใช้ API กราฟเหล่านี้อาจมีการเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบ หากคุณกำลังประสบปัญหา คุณอาจต้องเปลี่ยนตัวแทนผู้ใช้เฉพาะของคุณเป็นเวอร์ชั่นที่ใหม่กว่า
  • โพสต์แบบวิดีโอ - หากต้องการเรียกดูรายการโพสต์แบบวิดีโอ บุคคลที่ส่งคำขอจะต้องเป็นผู้ดูแลเพจ
  • Reels หากต้องการเรียกดูรายการ Reels ที่เผยแพร่ไปยังเพจของคุณ ให้ใช้จุดเชื่อมโยง VideoReels ของเพจ

ข้อจำกัด: ระบบจะดึงโพสต์ทั้งหมด (ไม่ว่าเผยแพร่หรือเลิกเผยแพร่) ในตำแหน่งข้อมูลฟีด จุดต่างเพียงอย่างเดียวก็คือระบบจะไม่แสดงโพสต์ที่เลิกเผยแพร่ในหน้าฟีด แต่คุณสามารถเพิ่มช่อง is_published ลงในตำแหน่งข้อมูล /feed ได้ เพื่อแจ้งให้ผู้พัฒนาทราบว่าโพสต์ที่อยู่ในตำแหน่งข้อมูล /feed ได้รับการเผยแพร่หรือไม่

ช่อง

ชื่อประเภทคำอธิบาย
idstring

ID ของโพสต์

actionsobject

ลิงก์การดำเนินการบนโพสต์ ความคิดเห็น การกดถูกใจ การแชร์

admin_creatorobject

ครีเอเตอร์ผู้ดูแลโพสต์บนเพจ หากเพจมีผู้ดูแลเพียงคนเดียว ระบบจะไม่ส่งกลับข้อมูล จำเป็นต้องมีโทเค็นการเข้าถึงเพจและสิทธิ์การอนุญาต business_management

idint

ID ของบุคคล แอพ หรือธุรกิจ

namestring

ชื่อของบุคคล แอพ หรือธุรกิจ

allowed_advertising_objectsstring

เฉพาะวัตถุประสงค์ที่อนุญาตให้ใช้ในการโฆษณาโพสต์นี้ได้

applicationobject

ข้อมูลเกี่ยวกับแอพที่เผยแพร่โพสต์นี้

attachmentsobject

ไฟล์แนบใดๆ ที่เกี่ยวข้องกับเรื่องราวนี้ โปรดดูข้อมูลเกี่ยวกับช่อง attachments ได้ที่ข้อมูลอ้างอิงเกี่ยวกับโหนดของสิ่งที่แนบมากับเรื่องราว

backdated_timefloat

เวลาย้อนหลังสำหรับโพสต์ที่จะย้อนเวลา สำหรับโพสต์ปกติ ช่องนี้จะถูกตั้งค่าให้ว่างไว้

call_to_actionobject

ประเภทการกระตุ้นให้ดำเนินการที่ใช้ในโพสต์บนเพจใดๆ สำหรับโฆษณาเพื่อการมีส่วนร่วมกับแอพบนมือถือ

contextobject

ประเภทการกระตุ้นให้ดำเนินการที่ใช้ในโพสต์บนเพจใดๆ สำหรับโฆษณาเพื่อการมีส่วนร่วมกับแอพบนมือถือ

can_reply_privatelyboolean

ผู้ชมเพจสามารถตอบกลับแบบส่วนตัวไปยังโพสต์นี้ได้หรือไม่ จำเป็นต้องมีสิทธิ์การอนุญาต read_page_mailboxes

caption

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป

string

คำบรรยายลิงก์ในโพสต์ที่ปรากฏอยู่ด้านล่าง name โดย caption จะต้องเป็น URL ของจริง และแสดงถึง URL ดังกล่าวอย่างถูกต้อง รวมถึงผู้ลงโฆษณาหรือธุรกิจที่เกี่ยวข้องซึ่งระบบจะนำผู้ใช้ไปหลังจากคลิก URL นั้น

child_attachmentsobject

การแชร์ย่อยของโพสต์การแชร์ที่มีหลายลิงก์

created_timefloat

เวลาที่เผยแพร่โพสต์ครั้งแรก สำหรับโพสต์ที่เกี่ยวกับเหตุการณ์ในชีวิต นี่คือวันที่และเวลาของเหตุการณ์ในชีวิต

description

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป ให้ใช้ attachments{description} แทน

string

คำอธิบายลิงก์ในโพสต์ (ปรากฏอยู่ด้านล่าง caption)

feed_targetingobject

อ็อบเจ็กต์ที่ควบคุมการกำหนดเป้าหมายบนฟีดสำหรับโพสต์นี้ ทุกคนในกลุ่มเหล่านี้มีแนวโน้มที่จะมองเห็นโพสต์นี้มากกว่า ในขณะที่คนอื่นๆ จะมีโอกาสเห็นน้อยกว่า แต่ก็ยังคงมองเห็นอยู่บ้าง ทั้งนี้ คุณจะใช้ช่องการกำหนดเป้าหมายใดๆ ที่แสดงอยู่ในที่นี้ได้ โดยไม่มีการบังคับให้ใช้ช่องใดๆ (ใช้กับเพจเท่านั้น)

age_maxint

อายุสูงสุด

age_minint

ต้องมีอายุ 13 ปีขึ้นไป ค่าเริ่มต้นคือ 0

citiesint

ค่าของเมืองที่กำหนดเป้าหมาย ใช้ type เป็น adcity เพื่อค้นหาตัวเลือกการกำหนดเป้าหมาย และใช้ key ที่ส่งกลับมาเพื่อระบุ

college_yearsint

อาร์เรย์เลขจำนวนเต็มสำหรับปีที่สำเร็จการศึกษาจากมหาวิทยาลัย

countriesstring

ค่าของประเทศที่กำหนดเป้าหมาย คุณสามารถระบุได้สูงสุดถึง 25 ประเทศ ใช้รหัสตามรูปแบบ ISO 3166

education_statusesint

อาร์เรย์เลขจำนวนเต็มสำหรับการกำหนดเป้าหมายตามระดับการศึกษา ใช้ 1 สำหรับมัธยมศึกษา 2 สำหรับปริญญาตรี และ 3 สำหรับศิษย์เก่า (หรือเทียบเท่าในภาษาที่แปล)

gendersint

กำหนดเป้าหมายเป็นเพศที่เฉพาะเจาะจง โดย 1 จะกำหนดเป้าหมายที่ผู้ชมทั้งหมดที่เป็นเพศชาย และ 2 สำหรับเพศหญิง ค่าเริ่มต้นคือกำหนดเป้าหมายทั้ง 2 เพศ

interested_in

เลิกใช้แล้ว

intบ่งบอกถึงการกำหนดเป้าหมายตามช่อง "สนใจใน" ของโปรไฟล์ผู้ใช้ คุณสามารถระบุเลขจำนวนเต็ม 1 เพื่อระบุเพศชาย และ 2 เพื่อระบุเพศหญิง ค่าเริ่มต้นคือทุกประเภท โปรดทราบว่าการกำหนดเป้าหมายตาม "สนใจใน" ไม่พร้อมใช้งานในประเทศในยุโรปส่วนใหญ่และแคนาดาเนื่องจากกฎหมายในท้องถิ่น
interestsint

ID ของเพจตั้งแต่หนึ่งรายการขึ้นไปที่จะกำหนดเป้าหมายแฟนเพจ ใช้ประเภทของเพจเพื่อรับ ID ที่สามารถใช้ได้เป็นตัวเลือกการกำหนดเป้าหมาย และใช้ ID ที่ส่งกลับมาเพื่อทำการระบุ

localesint

รูปแบบภาษาที่กำหนดเป็นเป้าหมาย ใช้ type เป็น adlocale เพื่อค้นหาตัวเลือกการกำหนดเป้าหมาย และใช้ key ที่ส่งกลับมาเพื่อระบุ

regionsarray

ค่าของภูมิภาคที่กำหนดเป้าหมาย ใช้ type เป็น adregion เพื่อค้นหาตัวเลือกการกำหนดเป้าหมาย และใช้ key ที่ส่งกลับมาเพื่อระบุ

relationship_statusesint

อาร์เรย์เลขจำนวนเต็มสำหรับการกำหนดเป้าหมายตามสถานะความสัมพันธ์ ใช้ 1 สำหรับโสด 2 สำหรับ "มีความสัมพันธ์" 3 สำหรับแต่งงานแล้ว และ 4 สำหรับหมั้นแล้ว ค่าเริ่มต้นคือทุกประเภท

from

object

name และ id ของเพจ กลุ่ม หรือเหตุการณ์ที่สร้างโพสต์ขึ้นมา หากคุณอ่านช่องนี้ด้วยโทเค็นการเข้าถึงผู้ใช้ ระบบจะส่งคืนเฉพาะผู้ใช้ปัจจุบันเท่านั้น

full_picturestring

URL ไปยังรูปภาพขนาดเต็มที่เผยแพร่ในโพสต์หรือที่แยกออกจากลิงก์ในโพสต์ หากรูปภาพมีขนาดสูงสุดเกิน 720 พิกเซล รูปภาพนั้นจะถูกเปลี่ยนขนาดโดยตั้งค่าขนาดสูงสุดเป็น 720 พิกเซล

iconstring

ลิงก์ไปยังไอคอนที่แสดงประเภทของโพสต์นี้

instagram_eligibilityenum{}

ระบุว่าสามารถโปรโมทโพสต์บน Instagram ได้หรือไม่ ระบบจะส่งคืน enum eligible หากสามารถโปรโมทโพสต์นั้นได้ มิฉะนั้น ระบบจะส่งคืนค่า enum ที่ระบุเหตุผลที่โปรโมทไม่ได้ ดังนี้:

  • ineligible_caption_mentions_not_allowed
  • ineligible_caption_too_long
  • ineligible_media_aspect_ratio
  • ineligible_media_dimension
  • ineligible_media_square_aspect_ratio
  • ineligible_media_square_dimension
  • ineligible_post_type
  • ineligible_unknown_error
  • ineligible_video_length
is_eligible_for_promotionboolean

ระบุว่าโพสต์มีสิทธิ์รับการโปรโมทหรือไม่

is_expiredboolean

ระบุว่าโพสต์มีเวลาหมดอายุที่ผ่านไปแล้วหรือไม่

is_hiddenboolean

ระบุว่ามีการกำหนดโพสต์นี้ให้ซ่อนอยู่หรือไม่ (ใช้กับเพจเท่านั้น) การซ่อนโพสต์จะเป็นการซ่อนไว้ในไทม์ไลน์ของเพจ แต่ยังคงมองเห็นได้ในที่อื่นๆ บน Facebook เช่น ลิงก์ เป็นต้น

is_instagram_eligiblestring

ระบุว่าสามารถโปรโมทโพสต์นี้ใน Instagram ได้หรือไม่

is_popularboolean

ระบุว่าโพสต์ได้รับความนิยมหรือไม่ ซึ่งพิจารณาโดยดูว่าการดำเนินการทั้งหมดโดยคิดเป็นเปอร์เซ็นต์การเข้าถึงมีค่าเกินเกณฑ์ที่กำหนดไว้หรือไม่

is_publishedboolean

ระบุว่าโพสต์ที่กำหนดเวลาไว้ได้รับการเผยแพร่หรือไม่ (ใช้ได้กับโพสต์บนเพจที่กำหนดเวลาไว้เท่านั้น ทั้งนี้ ค่านี้จะเป็น true อยู่เสมอสำหรับโพสต์ของผู้ใช้และโพสต์ที่เผยแพร่ทันที) โปรดทราบว่าค่านี้จะเป็น false อยู่เสมอสำหรับโพสต์บนเพจที่สร้างขึ้นโดยเป็นส่วนหนึ่งของกระบวนการสร้างโฆษณา

is_sphericalboolean

ระบุว่าโพสต์ดังกล่าวเป็นโพสต์แบบวิดีโอ 360 องศาหรือไม่

link

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป

ให้ใช้ attachments{unshimmed_url} แทน

string

ลิงก์ที่แนบกับโพสต์นี้

messagestring

ข้อความสถานะในโพสต์

message_tagsarray

อาร์เรย์ของโปรไฟล์ที่ได้รับการแท็กในข้อความ message หากคุณอ่านช่องนี้ด้วยโทเค็นการเข้าถึงผู้ใช้ของผู้ใช้ ระบบจะส่งคืนเฉพาะผู้ใช้ปัจจุบันเท่านั้น

lengthint

ความยาวของข้อความแท็กในรูปแบบ Code Point แบบ Unicode

idstring

ID ของโปรไฟล์ที่ได้รับการแท็ก

namestring

ข้อความที่ใช้ในการแท็กโปรไฟล์

offsetint

ตำแหน่งในรูปแบบ Code Point แบบ Unicode สำหรับอักขระตัวแรกของข้อความแท็กใน message

typeenum{}

ประเภท, user, page หรือ group ของโปรไฟล์ที่ได้รับการแท็ก

name

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป

ให้ใช้ attachments{title} แทน

string

ชื่อของ link

object_id

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป

ให้ใช้ attachments{target{id}} แทน

string

ID ของรูปภาพหรือวิดีโอที่อัพโหลดแล้วแนบไปกับโพสต์

parent_idstring

ID ของโพสต์หลักสำหรับโพสต์นี้ หากมีอยู่ ตัวอย่างเช่น หากเรื่องราวนี้คือเรื่องราวที่ว่า "เพจของคุณได้รับการกล่าวถึงในโพสต์" parent_id ก็จะเป็นโพสต์ต้นฉบับที่มีการกล่าวถึงเกิดขึ้น

permalink_urlstring

URL แบบคงที่ถาวรไปยังโพสต์บน www.facebook.com ตัวอย่าง: https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553

placestring

ID ของสถานที่ที่เชื่อมโยงกับโพสต์นี้

privacyobject

การตั้งค่าความเป็นส่วนตัวของโพสต์

allowstring

หาก value เป็น CUSTOM นี่จะเป็นรายการ ID ของผู้ใช้และรายชื่อเพื่อน (หากมี) ที่สามารถเห็นโพสต์ดังกล่าวได้ โดยคั่นด้วยเครื่องหมายจุลภาค

denystring

หาก value เป็น CUSTOM นี่จะเป็นรายการ ID ของผู้ใช้และรายชื่อเพื่อน (หากมี) ที่ไม่สามารถเห็นโพสต์ดังกล่าวได้ โดยคั่นด้วยเครื่องหมายจุลภาค

descriptionstring

ข้อความที่อธิบายการตั้งค่าความเป็นส่วนตัวตามที่จะปรากฏบน Facebook

friendsenum{}

หาก value เป็น CUSTOM รายการนี้จะแสดงถึงกลุ่มเพื่อนที่เห็นโพสต์ดังกล่าวได้ ค่าต่างๆ มีดังต่อไปนี้

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

การตั้งค่าความเป็นส่วนตัวตามจริง ค่าต่างๆ มีดังต่อไปนี้

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

ID ของโพสต์ที่จะใช้เพื่อการโปรโมทเรื่องราวที่ไม่สามารถโปรโมทได้โดยตรง

promotion_eligibility

เลิกใช้แล้ว โปรดดู is_eligible_for_promotion

booleanระบุว่าโพสต์มีสิทธิ์รับการโปรโมทหรือไม่
promotion_status

เลิกใช้แล้ว โปรดดู is_eligible_for_promotion

stringสถานะของการโปรโมท ต้องมีสิทธิ์ของผู้ดูแลเพจ ค่าที่เป็นไปได้:
activeการโปรโมทกำลังทำงานอยู่ในขณะนี้
draftการโปรโมทยังอยู่ในโหมดร่าง
extendableแคมเปญของการโปรโมทได้สิ้นสุดลงแล้ว แต่สามารถเริ่มใหม่ได้
finishedการโปรโมทได้สิ้นสุดลงแล้ว
inactiveไม่มีการโปรโมทที่ใช้งานอยู่
ineligible

โพสต์ไม่มีสิทธิ์ใช้การโปรโมท เรียนรู้ถึงสาเหตุที่โพสต์อาจไม่มีสิทธิ์

pausedการโปรโมทถูกหยุดชั่วคราว
pendingการโปรโมทยังอยู่ระหว่างการตรวจสอบ
rejectedการโปรโมทถูกปฏิเสธในระหว่างกระบวนการตรวจสอบ
propertiesobject

รายการคุณสมบัติของวิดีโอที่แนบไว้ ตัวอย่างเช่น ความยาวของวิดีโอ

namestring

ชื่อคุณสมบัติ

textstring

ค่าของคุณสมบัติ

hrefstring

ลิงก์ใดๆ ที่เชื่อมโยงกับคุณสมบัติ

sheduled_publish_timefloat

การประทับเวลา UNIX ของเวลาเผยแพร่ที่กำหนดเวลาไว้สำหรับโพสต์

sharesobject

จำนวนการแชร์โพสต์นี้ จำนวนการแชร์อาจรวมถึงโพสต์ที่ถูกลบและโพสต์ที่คุณไม่สามารถดูได้เนื่องด้วยเหตุผลด้านความเป็นส่วนตัว

source

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป

ให้ใช้ attachments{media{source}} แทน

string

URL ไปยังไฟล์ภาพยนตร์หรือวิดีโอแบบ Flash ที่แนบไปกับโพสต์

status_typeenum{}

ประเภทการอัพเดตสถานะ ค่าต่างๆ มีดังต่อไปนี้

  • added_photos
  • added_video
  • app_created_story
  • approved_friend
  • created_event
  • created_group
  • created_note
  • mobile_status_update
  • published_story
  • shared_story
  • tagged_in_photo
  • wall_post
storystring

ข้อความของเรื่องราวที่สร้างขึ้นโดยผู้ใช้ไม่ได้ตั้งใจ เช่น ข้อความที่สร้างขึ้นเมื่อมีการเพิ่มรูปภาพ คุณจะต้องเปิดใช้งานการย้าย "รวมเรื่องราวกิจกรรมล่าสุด" ในแอพของคุณจึงจะดึงข้อมูลช่องนี้ได้

story_tagsarray

รายการแท็กในคำอธิบายโพสต์

subscribedboolean

ระบุว่าผู้ใช้สมัครรับโพสต์หรือไม่

targetingobject

อ็อบเจ็กต์ที่จำกัดกลุ่มเป้าหมายสำหรับเนื้อหานี้ มีเพียงกลุ่มเป้าหมายในข้อมูลทางประชากรศาสตร์ที่ระบุไว้เท่านั้นที่สามารถดูเนื้อหานี้ได้ ข้อมูลทางประชากรศาสตร์เป็นส่วนที่เพิ่มเข้าไป ค่าเพิ่มเติมแต่ละค่าจะเพิ่มกลุ่มเป้าหมายให้แก่กลุ่มเป้าหมายที่กำหนดให้สะสมเพิ่มขึ้น ค่าเหล่านี้ไม่ได้มีผลลบล้างข้อจำกัดทางประชากรศาสตร์ในระดับเพจที่อาจมีอยู่

countriesstring

ค่าของการกำหนดเป้าหมายเป็นประเทศโดยเป็นรหัสตามรูปแบบ ISO 3166

localesint

รูปแบบภาษาที่กำหนดเป็นเป้าหมาย ระบบอาจส่งคืนตัวเลือกการกำหนดเป้าหมายที่มีประเภทเป็น adlocale

regionslist<int>

ค่าสำหรับภูมิภาคที่กำหนดเป็นเป้าหมาย ระบบอาจส่งคืนตัวเลือกการกำหนดเป้าหมายที่มีประเภทเป็น adregion

citieslist<int>

ค่าสำหรับเมืองที่ถูกแยกออก ระบบอาจส่งคืนตัวเลือกการกำหนดเป้าหมายที่มีประเภทเป็น adcity

to

object

โปรไฟล์ที่กล่าวถึงหรือกำหนดเป็นเป้าหมายไว้ในโพสต์นี้ หากคุณอ่านช่องนี้ด้วยโทเค็นการเข้าถึงผู้ใช้ ระบบจะส่งคืนเฉพาะผู้ใช้ปัจจุบันเท่านั้น

type

เลิกใช้กับโพสต์บนเพจสำหรับเวอร์ชั่น 3.3 ขึ้นไป

ให้ใช้ attachments{media_type} แทน หากไม่มี attachments หรือ media_type=link ค่าจะเป็นค่าเดียวกันกับ type=status

enum{}

สตริงที่แสดงถึงประเภทอ็อบเจ็กต์ของโพสต์นี้ โดยค่า enum มีดังต่อไปนี้

  • link
  • offer
  • photo
  • status
  • video
updated_timefloat

เวลาที่อัพเดตโพสต์ครั้งหลังสุด ซึ่งเกิดขึ้นเมื่อโพสต์ถูกสร้างขึ้น แก้ไข หรือผู้ใช้แสดงความคิดเห็นบนโพสต์ โดยแสดงเป็นการประทับเวลา UNIX

video_buying_eligibilityarray

ระบุว่าสามารถโปรโมทโพสต์ด้วยตัวเลือกในการซื้อวิดีโอที่แตกต่างกันได้หรือไม่ โดยจะส่งกลับรายการว่างในกรณีที่วิดีโอนั้นมีสิทธิ์ มิฉะนั้น ระบบจะส่งกลับรายการเหตุผลที่อธิบายว่าเหตุใดจึงไม่สามารถโปรโมทโพสต์ได้

with_tags

object

โปรไฟล์ที่แท็กว่าอยู่กับผู้เผยแพร่โพสต์นั้น หากคุณอ่านช่องนี้ด้วยโทเค็นการเข้าถึงผู้ใช้ ระบบจะส่งคืนเฉพาะผู้ใช้ปัจจุบันเท่านั้น


เราจะเลิกใช้ตำแหน่งข้อมูลนี้ในวันที่ 30 เมษายน 2019 สำหรับ API กราฟและ API การตลาดเวอร์ชั่น 3.3 ขึ้นไป แอพที่เคยใช้ตำแหน่งข้อมูลนี้ในช่วง 90 วันที่ผ่านมาจะสามารถใช้ตำแหน่งข้อมูลดังกล่าวกับ API เวอร์ชั่น 3.2 หรือเก่ากว่านั้นต่อไปได้จนถึงวันที่ 30 กรกฎาคม 2019 แอพที่ไม่เคยใช้ตำแหน่งข้อมูลนี้ในช่วง 90 วันที่ผ่านมาจะไม่สามารถใช้ตำแหน่งข้อมูลดังกล่าวได้ตั้งแต่วันที่ 30 เมษายน 2019 เป็นต้นไป

ID ที่สามารถโปรโมทได้

เมื่อค้นหาโพสต์ที่สามารถโปรโมทได้ คุณจะต้องใช้ promotable_id เพื่อสร้างโฆษณา ในกรณีส่วนใหญ่ 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}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{your-page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_eligible_for_promotion,promotable_id");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"fields": @"is_eligible_for_promotion,promotable_id",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'GET',
  {"fields":"is_eligible_for_promotion,promotable_id"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{your-page-id}/feed?fields=is_eligible_for_promotion,promotable_id',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

ตัวอย่างการตอบกลับ

{
  "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 ได้ คุณจะต้องใช้สิ่งต่อไปนี้

โพสต์จะปรากฏในนามของเพจ

สิทธิ์การอนุญาต

หมายเหตุ: หากผู้ชมหรือแอพไม่เห็น URL ของ 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"}

ตำแหน่งข้อมูลนี้รองรับอ่าน-หลังจาก-เขียน และสามารถส่งคืนช่องใดๆ ที่ส่งคืนมาโดยการดำเนินการอ่านได้ทันที

ตัวอย่างเครื่องมือ Graph Explorer

การทดสอบในเครื่องมือ Graph Explorer โดยใช้ POST {page-id}/feed:

ช่อง

ชื่อประเภทคำอธิบาย
actionsarray

ลิงก์การดำเนินการที่แนบกับโพสต์

linkstring

URL ของลิงก์การดำเนินการเอง

namestring

ชื่อหรือป้ายของลิงก์การดำเนินการ

backdated_timefloat

ระบุเวลาที่ต้องการให้ย้อนวันที่ของโพสต์กลับไป

backdated_time_granularityenum{year, month, day, hour, minute}

ควบคุมการแสดงผลของโพสต์ที่ย้อนวันที่กลับไป ตัวอย่างเช่น หากคุณเลือก month โพสต์ก็จะแสดงเป็น 2 months ago แทนวันที่แน่นอน

child_attachments

อ็อบเจ็กต์

ใช้เพื่อระบุหลายๆ ลิงก์ในโพสต์ ขั้นต่ำ 2 อ็อบเจ็กต์ และสูงสุด 5 อ็อบเจ็กต์ หากคุณกำหนด

multi_share_optimized

เป็น "true" คุณสามารถอัพโหลดได้สูงสุด 10 อ็อบเจ็กต์ แต่ Facebook จะแสดง 5 อ็อบเจ็กต์แรก

descriptionstring

ใช้เพื่อแสดงราคา ส่วนลด หรือโดเมนเว็บไซต์อย่างใดอย่างหนึ่ง หากไม่ได้ระบุไว้ จะดึงเนื้อหาจากเพจที่ลิงก์ออกมาใช้ โดยปกติแล้ว ช่องนี้จะมีการตัดข้อมูลไม่ให้เกิน 30 อักขระ

image_hashstring

แฮชของรูปภาพตัวอย่างที่เชื่อมโยงกับลิงก์จากคลังรูปภาพโฆษณาของคุณ (อัตราส่วนกว้างยาว 1:1 และขนาดขั้นต่ำ 458 x 458 พิกเซล เพื่อให้ได้การแสดงผลที่ดีที่สุด) คุณต้องระบุ picture หรือ image_hash อย่างใดอย่างหนึ่ง

linkstring

URL ของลิงก์ที่จะแนบไปกับโพสต์ คุณต้องระบุช่องนี้

namestring

ชื่อของตัวอย่างลิงก์ หากไม่ได้ระบุไว้ จะใช้ชื่อของเพจที่ลิงก์ โดยปกติแล้ว ช่องนี้จะมีการตัดข้อมูลไม่ให้เกิน 35 อักขระ ขอแนะนำให้ตั้งค่า name ที่ไม่ซ้ำกัน เนื่องจากอินเทอร์เฟซของ Facebook จะแสดงการดำเนินการที่รายงานในช่อง name

picturestring

URL ที่กำหนดภาพตัวอย่างของลิงก์ (อัตราส่วนกว้างยาว 1:1 และมีขนาดอย่างน้อย 458 x 458 พิกเซลเหมาะสำหรับการแสดงภาพที่สุด) คุณต้องระบุ picture หรือ image_hash อย่างใดอย่างหนึ่ง

feed_targetingobject

อ็อบเจ็กต์ที่ควบคุมการกำหนดเป้าหมายบนฟีดสำหรับเนื้อหานี้ ทุกคนในกลุ่มเหล่านี้จะมองเห็นเนื้อหานี้บ่อยขึ้น ในขณะที่คนอื่นๆ จะเห็นน้อยลง แต่ก็ยังคงมองเห็นอยู่บ้าง คุณสามารถใช้ช่องการกำหนดเป้าหมายที่ปรากฏที่นี่ได้ทั้งหมด โดยไม่มีการบังคับให้ใช้ช่องใด

age_maxint

อายุสูงสุด ต้องไม่เกิน 65 ปี

age_minint

ต้องมีอายุ 13 ปีขึ้นไป ค่าเริ่มต้นคือ 0

college_yearsint[]

อาร์เรย์ของจำนวนเต็มสำหรับปีที่สำเร็จการศึกษาจากมหาวิทยาลัย

education_statusesint[]

อาร์เรย์ของจำนวนเต็มสำหรับการกำหนดเป้าหมายตามระดับการศึกษา ใช้ 1 สำหรับมัธยมศึกษา 2 สำหรับปริญญาตรี และ 3 สำหรับศิษย์เก่า (หรือเทียบเท่าในภาษาที่แปล)

genderslist<unsigned int32>

กำหนดเป้าหมายเป็นเพศที่เฉพาะเจาะจง โดย 1 จะกำหนดเป้าหมายที่ผู้ชมเพศชายทั้งหมด และ 2 สำหรับเพศหญิง ค่าเริ่มต้นคือกำหนดเป้าหมายทั้งสองเพศ

geo_locationsobject

อ็อบเจ็กต์นี้ช่วยให้คุณสามารถระบุตำแหน่งที่ตั้งทางภูมิศาสตร์ที่แตกต่างกันได้จำนวนหนึ่ง โปรดดูข้อมูลเกี่ยวกับอ็อบเจ็กต์นี้ในคู่มือการกำหนดเป้าหมายของเรา

interestsint[]

ID สำหรับกำหนดเป้าหมายแฟนอย่างน้อยหนึ่ง ID ใช้ type=audienceinterest เพื่อรับ ID ที่เป็นไปได้เพื่อเป็นตัวเลือกการกำหนดเป้าหมาย และใช้ ID ที่ส่งกลับมาในการระบุ

localesint

รูปแบบภาษาที่กำหนดเป้าหมาย ใช้ type ของ adlocale เพื่อค้นหาตัวเลือกการกำหนดเป้าหมาย และใช้ key ที่ส่งกลับมาในการระบุ

relationship_statuseslist<unsigned int32>

อาร์เรย์ของจำนวนเต็มสำหรับการกำหนดเป้าหมายตามสถานะความสัมพันธ์ ใช้ 1 สำหรับโสด 2 สำหรับ "มีความสัมพันธ์" 3 สำหรับแต่งงานแล้ว และ 4 สำหรับหมั้นแล้ว ค่าเริ่มต้นคือทุกประเภท

linkstring

URL ของลิงก์ที่จะแนบไปกับโพสต์ คุณต้องระบุ link หรือ message อย่างใดอย่างหนึ่ง ช่องเพิ่มเติมที่เชื่อมโยงกับ link จะแสดงอยู่ที่ด้านล่างนี้ โปรดดูข้อจำกัดในส่วนลิงก์แบบกำหนดเอง

descriptionstring

เขียนทับคำอธิบายในตัวอย่างลิงก์

namestring

เขียนทับชื่อเรื่องของตัวอย่างลิงก์

picturestring

กำหนดภาพตัวอย่างที่เชื่อมโยงกับลิงก์นี้

thumbnailfile

ภาพตัวอย่างที่เชื่อมโยงกับลิงก์ที่คุณอัพโหลด

messagestring

เนื้อความหลักของโพสต์ ข้อความสามารถมีการกล่าวถึงเพจ Facebook ซึ่งได้แก่ @[page-id] ได้

multi_share_end_cardBoolean

หากตั้งค่าเป็น false ระบบจะไม่แสดงการ์ดสิ้นสุดของโพสต์ลิงก์ภาพสไลด์เมื่อใช้ child_attachments ค่าเริ่มต้นคือ true

multi_share_optimizedBoolean

หากตั้งค่าเป็น true Facebook จะเลือกลำดับลิงก์ใน child_attachments โดยอัตโนมัติก็ต่อเมื่อใช้โพสต์ในโฆษณาเท่านั้น มิฉะนั้น ระบบจะรักษาลำดับเดิมของ child_attachments เอาไว้ ค่าเริ่มต้นคือ “true”

object_attachmentstring

Facebook ID สำหรับรูปภาพที่มีอยู่ในอัลบั้มรูปภาพของบุคคลที่จะใช้เป็นภาพขนาดย่อ ผู้ใช้ต้องเป็นเจ้าของรูปภาพและรูปภาพนั้นไม่สามารถเป็นส่วนหนึ่งของเอกสารแนบข้อความ

placestring

ID เพจของตำแหน่งที่ตั้งที่เชื่อมโยงกับโพสต์นี้

publishedBoolean

มีการแสดงเรื่องราวเกี่ยวกับอ็อบเจ็กต์ที่เผยแพร่ใหม่นี้หรือไม่ ค่าเริ่มต้นคือ true ซึ่งหมายความว่าเรื่องราวจะแสดงในฟีด ทั้งนี้ ระบบไม่รองรับช่องนี้เมื่อมีการระบุพารามิเตอร์การดำเนินการ ใช้โพสต์ที่ไม่ได้เผยแพร่ในโฆษณาได้

scheduled_publish_timetimestamp

การประทับเวลา UNIX ที่บ่งบอกเวลาที่โพสต์ควรเริ่มเผยแพร่ โดยต้องเป็นวันที่ระหว่าง 10 นาทีถึง 75 วัน นับจากเวลาของคำขอ API

tagscsv[string]

รายการที่คั่นด้วยเครื่องหมายจุลภาคที่มี ID ผู้ใช้ของผู้ที่ได้รับการแท็กในโพสต์นี้ คุณจะไม่สามารถระบุช่องนี้ได้หากไม่ระบุ place ด้วย

targetingobject

อ็อบเจ็กต์ที่จำกัดกลุ่มเป้าหมายสำหรับเนื้อหานี้ ผู้ที่ไม่ได้อยู่ในข้อมูลทางประชากรศาสตร์นี้ จะไม่สามารถดูเนื้อหานี้ได้ ซึ่งจะไม่มีผลบังคับใช้เหนือกว่าข้อกำหนดทางประชากรศาสตร์ในระดับเพจที่อาจมีการบังคับใช้

age_minint

ค่าจะเป็น 13, 15, 18, 21 หรือ 25 ก็ได้

geo_locationsobject

อ็อบเจ็กต์นี้ช่วยให้คุณสามารถระบุตำแหน่งที่ตั้งทางภูมิศาสตร์ที่แตกต่างกันได้จำนวนหนึ่ง โปรดดูข้อมูลเกี่ยวกับอ็อบเจ็กต์นี้ในคู่มือการกำหนดเป้าหมายของเรา

เพิ่มความรู้สึกหรือกิจกรรมลงในโพสต์บนเพจ

เพิ่มความรู้สึกหรือกิจกรรมและไอคอนในโพสต์บนเพจ ทั้งนี้ คุณจะต้องระบุ og_action_type_id และ og_object_id เมื่อโพสต์ความรู้สึกหรือกิจกรรม คุณจะใช้ og_icon_id หรือไม่ก็ได้ แต่ถ้าไม่ใช้ ระบบจะให้ไอคอนมาโดยอัตโนมัติตาม og_object_id

ช่อง

ชื่อ คำอธิบาย

og_action_type_id

การดำเนินการซึ่งหมายถึงความรู้สึกการรับชม ฯลฯ

og_icon_id

ไอคอนที่อาจแสดงประเภทการดำเนินการ กล่าวคือ ใบหน้ายิ้ม ไอคอนภาพยนตร์ ฯลฯ

og_object_id

เป้าหมายของการดำเนินการ กล่าวคือ มีความสุขภาพยนตร์ ฯลฯ ซึ่งอาจเป็นอ็อบเจ็กต์ที่กำหนดไว้ล่วงหน้าหรือ page_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

โพสต์บนเพจที่ไม่ได้เผยแพร่

เรารองรับประเภทของโพสต์บนเพจที่ไม่ได้เผยแพร่ดังต่อไปนี้

ประเภทของโพสต์คำอธิบาย

ลิงก์

โพสต์บนเพจแบบลิงก์มีประสิทธิภาพสูงสุดในการแชร์ลิงก์ไปยังเว็บไซต์ของคุณ ช่วยให้สามารถเลือกเปลี่ยนรูปภาพและข้อความเพิ่มเติมได้
หมายเหตุ: ลิงก์วิดีโอ Youtube จะเป็นโพสต์บนเพจแบบลิงก์

รูปภาพ

โพสต์บนเพจแบบรูปภาพที่มีคำอธิบายเป็นข้อความและลิงก์ที่เลือกระบุได้เป็นส่วนหนึ่งของคำอธิบาย

โพสต์

โพสต์บนเพจที่มีคำอธิบายเป็นข้อความ

วิดีโอ

โพสต์บนเพจแบบวิดีโอที่มีคำอธิบายเป็นข้อความแบบเลือกระบุได้

โพสต์บนเพจที่ไม่ได้เผยแพร่จะถือว่าเหมือนกับโพสต์บนเพจที่เผยแพร่แล้ว ยกเว้นตรงที่จะไม่ปรากฏใน /feed

สืบค้นช่อง is_published เพื่อดูรายการโพสต์บนเพจที่ไม่ได้เผยแพร่

curl -i -X GET \
 "https://graph.facebook.com/{page-id}/feed
 ?fields=is_published
 &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_published");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{page-id}/feed"
           parameters:@{ @"fields": @"is_published",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{page-id}/feed',
  'GET',
  {"fields":"is_published"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{page-id}/feed?fields=is_published',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

หากต้องการดูโพสต์บน Facebook.com คุณสามารถไปที่ https://www.facebook.com/{post-id} เพื่อดูโพสต์ในประเภทส่วนใหญ่ หรือเรียกดูช่อง actions ของโพสต์ ซึ่งมี URL ที่ผู้ใช้สามารถกดถูกใจหรือแสดงความคิดเห็นบนโพสต์ได้

call_to_action ของโพสต์บนเพจ

คุณสามารถปรับปรุงโพสต์บนเพจของลิงก์ให้ดีขึ้นได้ด้วยปุ่ม "กระตุ้นให้ดำเนินการ" คุณสามารถเพิ่มช่อง call_to_action ต่อไปนี้ลงในโพสต์บนเพจแบบลิงก์รายการใหม่ๆ ได้

ชื่อประเภทคำอธิบาย

call_to_action

object

อ็อบเจ็กต์ที่ระบุปุ่ม "กระตุ้นให้ดำเนินการ" ซึ่งควรจะเป็นการดำเนินการที่คุณต้องการให้ผู้คนทำ เมื่อเขาเห็นโพสต์ของคุณ การคลิกปุ่มนี้จะเป็นการนำคนไปยังลิงก์ที่คุณกำหนดไว้

type

string

พิจารณาข้อความของปุ่มกระตุ้นให้ดำเนินการ หนึ่งในค่าที่อนุญาตต่อไปนี้

BOOK_TRAVEL การกระตุ้นให้ดำเนินการจะปรากฏเป็น "จองเลย"

BUY_NOW การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ซื้อเลย" ใช้เฉพาะกับโฆษณาแอพบนเดสก์ท็อปสำหรับสินค้าเสมือนจริงเท่านั้น

CALL_NOW การกระตุ้นให้ดำเนินการจะปรากฏเป็น "โทรเลย" ใช้เฉพาะกับโฆษณาเพื่อการรับรู้ในพื้นที่เท่านั้น

DOWNLOAD การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ดาวน์โหลด"

GET_DIRECTIONS การกระตุ้นให้ดำเนินการจะปรากฏเป็น "รับเส้นทาง" ต้องระบุพิกัดในช่อง link ใช้เฉพาะกับโฆษณาเพื่อการรับรู้ในพื้นที่เท่านั้น

GET_QUOTE การกระตุ้นให้ดำเนินการจะปรากฏเป็น "รับใบเสนอราคา" สำหรับการรวบรวมข้อมูลลูกค้า

INSTALL_APP การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ติดตั้งเลย"

INSTALL_MOBILE_APP การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ติดตั้งเลย" ใช้เฉพาะกับโฆษณาแอพบนมือถือเท่านั้น

LEARN_MORE การกระตุ้นให้ดำเนินการจะปรากฏเป็น "เรียนรู้เพิ่มเติม"

LIKE_PAGE การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ถูกใจเพจ" ใช้เฉพาะกับโฆษณาในวัตถุประสงค์เพื่อการกดถูกใจเพจเท่านั้น

LISTEN_MUSIC การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ฟังเพลง"

MESSAGE_PAGE การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ส่งข้อความ" ใช้เฉพาะกับโฆษณาเพื่อการรับรู้ในพื้นที่เท่านั้น

NO_BUTTON ไม่มีการกระตุ้นให้ดำเนินการปรากฏขึ้นมา

OPEN_LINK การกระตุ้นให้ดำเนินการจะปรากฏเป็น "เปิดลิงก์" ใช้เฉพาะกับโฆษณาในวัตถุประสงค์เพื่อการคลิกเว็บไซต์เท่านั้น

PLAY_GAME การกระตุ้นให้ดำเนินการจะปรากฏเป็น "เล่นเกม" ใช้เฉพาะกับโฆษณาแอพบนเดสก์ท็อปเท่านั้น

SHOP_NOW การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ซื้อเลย" ใช้เฉพาะกับโฆษณาในวัตถุประสงค์เพื่อคอนเวอร์ชั่นบนเว็บไซต์เท่านั้น

SIGN_UP การกระตุ้นให้ดำเนินการจะปรากฏเป็น "สมัครใช้งาน"

SUBSCRIBE การกระตุ้นให้ดำเนินการจะปรากฏเป็น "สมัครรับข้อมูล" สำหรับการรวบรวมข้อมูลลูกค้า

USE_APP การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ใช้แอพ"

USE_MOBILE_APP ใช้เฉพาะกับโฆษณาแอพบนมือถือเท่านั้น

WATCH_MORE การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ดูเพิ่มเติม"

WATCH_VIDEO การกระตุ้นให้ดำเนินการจะปรากฏเป็น "ดูวิดีโอ"

ภาพโพสต์บนเพจของลิงก์ที่กำหนดเอง

โพสต์ลิงก์ไปยังเพจด้วยภาพลิงก์แบบกำหนดเอง เอกสารแนบของเรื่องราวจะเรนเดอร์ภาพที่ได้รับจากลิงก์ ปัจจุบัน การเขียนทับรูปภาพนั้นสามารถทำได้โดยการระบุพารามิเตอร์ picture ซึ่งจะระบุหรือไม่ก็ได้ พร้อมด้วย URL ไปยังรูปภาพใหม่ พารามิเตอร์ thumbnail ให้ฟังก์ชั่นการทำงานที่คล้ายคลึงกันโดยมีข้อแตกต่างหลักตรงที่พารามิเตอร์นี้จะรับไฟล์รูปภาพในเครื่องได้ ซึ่งจะอัพโหลดไปยัง Facebook ในการเรียกใช้ API

สิทธิ์การอนุญาต

  • ต้องมีโทเค็นการเข้าถึงเพจ
  • เพจที่โพสต์ต้องเป็นเจ้าของลิงก์

ตรวจสอบช่อง ownership_permissions{can_customize_link_posts} บนโหนด URL เพื่อตรวจสอบยืนยันความเป็นเจ้าของลิงก์ คุณต้องเรียกปลายทางนี้ก่อนทำการโพสต์ลิงก์ใหม่ หากไม่มีขั้นตอนนี้ โพสต์บนเพจของลิงก์ที่กำหนดเองจะใช้งานไม่ได้กับลิงก์ที่ไม่มีการดึงแยก โปรดดูข้อมูลเพิ่มเติมในคู่มือเกี่ยวกับความเป็นเจ้าของลิงก์ของเรา เราได้เลิกใช้ picture, name, thumbnail และ description แล้วสำหรับเวอร์ชั่น 2.10 ลงไป ส่วน caption ได้ถูกเลิกใช้แล้วสำหรับทุกเวอร์ชั่น

พารามิเตอร์ประเภทคำอธิบาย

description

สตริง

คำอธิบายลิงก์ (แสดงใต้คำบรรยายลิงก์) หากไม่ระบุ ช่องนี้จะมีการเติมข้อมูลที่ดึงมาจากลิงก์โดยอัตโนมัติ โดยมากเป็นชื่อเพจ

name

สตริง

ชื่อไฟล์แนบของลิงก์ ช่องนี้จะมีการเติมข้อมูลที่ดึงมาจากลิงก์โดยอัตโนมัติ

picture

สตริง

URL สำหรับภาพ รูปภาพมีแหล่งที่มาจาก URL ที่ระบุไว้ใน picture

thumbnail

ไฟล์

ไฟล์ภาพที่ต้องการให้อัพโหลด รองรับ .jpg, .jpeg, .gif หรือ .png รูปภาพมีแหล่งที่มาจากไฟล์ที่อัพโหลดใน thumbnail

ข้อจำกัด

  • พารามิเตอร์ thumbnail ใช้ได้กับโพสต์ลิงก์บนเพจ Facebook เท่านั้น
  • พารามิเตอร์ thumbnail จะมีผลเหนือพารามิเตอร์ picture หากระบุทั้งคู่ ระบบจะไม่ใช้พารามิเตอร์ picture
  • พารามิเตอร์ thumbnail รองรับรูปภาพที่มีนามสกุลเป็น .jpg, .jpeg, .gif หรือ .png
  • ระบบไม่รองรับพารามิเตอร์ thumbnail ในคำขอแบบแบตช์

การโพสต์ลิงก์ไปยังเพจ

โพสต์ลิงก์ไปยังเพจโดยส่งคำขอ POST ไปยังจุดเชื่อมโยง /page/feed ตั้งค่าพารามิเตอร์ 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}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

ตัวอย่างการตอบกลับ

{"id":"{post-id}"}

โพสต์บนเพจของลิงก์ที่มีการกระตุ้นให้ดำเนินการ

ช่อง call_to_action จะระบุการดำเนินการที่เหมาะสมและลิงก์ที่เกี่ยวข้อง ลิงก์นี้ควรจะเหมือนกับพารามิเตอร์ link ของโพสต์บนเพจ ในการเรียกใช้นี้ คุณจะระบุ title, description, caption และ picture หรือไม่ก็ได้ และเมื่อไม่ได้ระบุ Facebook จะอ่านคุณสมบัติที่เทียบเท่าจากเมตาดาต้า Open Graph ของลิงก์ หากเว็บเพจที่ลิงก์ไม่มีข้อมูลเมตา Open Graph ทาง 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}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\",\"call_to_action\":\"{\\\"type\\\":\\\"SIGN_UP\\\",\\\"value\\\":{\\\"link\\\":\\\"https://developers.facebook.com\\\"}}\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",@"call_to_action": @"{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1","call_to_action":"{\"type\":\"SIGN_UP\",\"value\":{\"link\":\"https://developers.facebook.com\"}}"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1',
      'call_to_action' => '{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

ตัวอย่างการตอบกลับ

{"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"}

การใช้ภาพผ่าน URL:

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} ได้