이 가이드에서는 Meta의 페이지 API를 사용하여 Facebook 페이지에서 페이지 이름으로 게시물을 생성, 게시, 업데이트하고 이에 답글을 다는 방법을 설명합니다.
This guide assumes you have read the Overview
For a person who can perform tasks on the page, you will need to implement Facebook Login to ask for the following permissions and receive a Page access token:
pages_manage_engagement
pages_manage_posts
pages_read_engagement
pages_read_user_engagement
publish_video
permission, if you are publishing a video to the PageYour app user must be able to perform the CREATE_CONTENT
, MANAGE
, and MODERATE
tasks on the Page in the API requests.
If your app users do not own or manage the Page in the API requests, your app will need a User access token and the following features:
API 호출을 테스트할 때 액세스 토큰으로 설정된 access_token
매개변수를 포함할 수 있습니다. 그러나 앱에서 보안 호출을 수행할 때는 액세스 토큰 클래스를 사용합니다.
페이지에 게시물을 게시하려면 /page_id/feed
엔드포인트로 POST
요청을 보내세요. 이때 page_id
는 페이지 ID가 되고 다음과 같은 매개변수를 포함합니다.
message
link
(링크를 게시하고자 하는 경우)true
(즉시 게시물 공개, 기본값) 또는 false
(나중에 공개)로 설정된 published
false
로 설정된 경우 scheduled_publish_time
을 포함하세요.
1530432000
)2018-09-01T10:15:30+01:00
)strtotime()
의 상대적 날짜 문자열을 사용할 경우 생성된 게시물의 scheduled_publish_time
을 쓰기 후 읽기를 수행하여 예상한 값과 일치하는지 확인할 수 있습니다.
curl -X POST "https://graph.facebook.com/v21.0
/page_id/feed" \
-H "Content-Type: application/json" \
-d '{
"message":"your_message_text",
"link":"your_url",
"published":"false",
"scheduled_publish_time":"unix_time_stamp_of_a_future_date",
}'
요청에 성공하면 앱이 게시물 ID가 포함된 다음과 같은 JSON 응답을 받게 됩니다.
{ "id": "page_post_id" }
페이지 게시물을 볼 수 있는 대상을 제한하려면 POST
요청에 targeting.geo_locations
개체 또는 feed_targeting.geo_locations
를 추가할 수 있습니다.
-d '{ ... "targeting": { "geo_locations": { "countries": [ "CA" ], "cities": [ { "key": "296875", "name": "Toronto" } ] } }, ... }'
국가와 해당 국가 내 지역을 모두 사용하는 경우 '일부 위치가 중복됩니다. 위치를 삭제해보세요.'라는 오류가 발생할 수도 있습니다. 이 경우, 원하는 도달 범위에 따라 지역 또는 국가를 타게팅하세요.
페이지에 사진과 동영상을 게시할 수 있습니다.
페이지에 사진을 게시하려면 /page_id/photos
엔드포인트로 POST
요청을 보내세요. 이때 page_id
는 페이지 ID가 되고 url
매개변수는 게시물의 사진으로 설정합니다.
curl -X POST "https://graph.facebook.com/v21.0
/page_id/photos" \
-H "Content-Type: application/json" \
-d '{
"url":"path_to_photo",
요청에 성공하면 앱이 사진 ID 및 게시물 ID가 포함된 다음과 같은 JSON 응답을 받게 됩니다.
{ "id":"photo_id", "post_id":"page_post_id" }
페이지에 동영상 게시물을 게시하려면 동영상 API 문서를 참조하세요.
페이지 게시물로 구성된 리스트를 가져오려면 /page_id/feed
엔드포인트로 GET
요청을 보내세요.
curl -i -X GET "https://graph.facebook.com/v21.0
/page_id/feed"
요청에 성공하면 앱이 페이지에 게시된 각 게시물에 대한 게시물 ID, 게시물이 생성된 시간, 게시물 내용을 포함하는 개체의 배열과 함께 다음과 같은 JSON 응답을 수신합니다.
{ "data": [ { "created_time": "2019-01-02T18:31:28+0000", "message": "This is my test post on my Page.", "id": "page_post_id" } ], ... }
페이지 게시물의 URL 또는 퍼머링크는 https://www.facebook.com/
page_post_id
입니다.
페이지 게시물을 업데이트하려면 업데이트하려는 매개변수를 새 콘텐츠로 설정하고 /page_post_id
엔드포인트로 POST
요청을 보내세요.
curl -X POST "https://graph.facebook.com/v21.0
/page_post_id" \
-H "Content-Type: application/json" \
-d '{
"message":"I am updating my Page post",
}'
요청에 성공하면 앱은 success
가 true로 설정된 다음과 같은 JSON 응답을 받게 됩니다.
{ "success": true }
해당 앱을 사용하여 작성한 게시물일 경우에만 앱에서 페이지 게시물을 업데이트할 수 있습니다.
페이지 게시물을 삭제하려면 /page_post_id
엔드포인트로 DELETE
요청을 보내세요. 이때 page_post_id
는 삭제하고자 하는 게시물의 ID입니다.
curl -i -X DELETE "https://graph.facebook.com/v21.0
/page_post_id"
요청에 성공하면 앱은 success
가 true
로 설정된 다음과 같은 JSON 응답을 받게 됩니다.
{ "success": true }
페이지 게시물에 댓글을 달고 페이지에 게시물을 게시하거나 댓글을 단 특정 사용자나 페이지를 @언급하는 방법을 알아보세요.