카테고리 없음

Facebook Graph API를 활용한 Page 글쓰기

되꼬다음 2017. 6. 14. 00:35
반응형

페이스북 모듈 연동

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
window.fbAsyncInit = function() {
FB.init({
appId : '앱 키',
xfbml : true,
version : 'v2.8'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

Page 권한 얻기 (선택)

앱공개를 한 뒤 페이스북 개발자 > 앱 검수 에서 publish_pages, manage_pages 권한을 부여해야한다.

1
2
3
4
5
6
7
8
9
10
FB.login(function(login_result){
if (login_result.status === 'connected') {
// 여기에 3번 로직을 넣으면 된다.
} else if (login_result.status === 'not_authorized') {
alert('페이스북 인증에 실패했습니다');
} else {
alert('페이스북 API 호출에 실패했습니다');
}
}, {scope: 'publish_pages,manage_pages'});
// 이 두 권한이 꼭 필요하다

해당 Page 관리자 권한 얻기

페이지 아이디가 필요한데, 내 페이지로 이동하면 뒤에보이는 주소 번호가 있다.
또는 페이지 아이디를 여기서 주소로 검색해보자

1
2
3
4
5
6
FB.api("/나의 페이지 아이디/","GET",{"fields":"access_token"},
function(token_result){
// token_result.access_token 이 페이지 관리자로 글을 쓰기 위해 필요하다
// 여기에 4번 로직을 넣으면 된다.
}
);

Page Feed 작성

Graph API를 사용해 피드를 작성한다.
자세한 옵션 설정은 API 문서를 참조하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FB.api("/my page id/feed", "POST",
{
"access_token":token_result.access_token,
"message": "내용",
"link": "링크 걸 주소",
"picture": "링크 이미지",
"name": "링크 제목",
"description": "링크 설명",
"caption":"링크 하단 캡션"
},
function (page_result) {
if (page_result && !page_result.error) {
// 여기에 성공시 로직을 넣는다.
}
}
);

소스

FB.login(function(login_result){
if (login_result.status === 'connected') {
getFbAccessToken();
} else if (login_result.status === 'not_authorized') {
alert('페이스북 인증에 실패했습니다');
} else {
alert('페이스북 API 호출에 실패했습니다');
}
}, {scope: 'publish_pages,manage_pages'});
function getFbAccessToken(){
FB.api("/나의 페이지 아이디/","GET",{"fields":"access_token"},
function(token_result){
postFbPage(token_result);
}
);
}
function postFbPage(token_result){
FB.api("/나의 페이지 아이디/feed", "POST",
{
"access_token":token_result.access_token,
"message": "내용",
"link":"링크 걸 주소",
"picture":"링크 이미지",
"name":"링크 제목",
"description":"링크 설명",
"caption":"링크 하단 캡션"
},
function (page_result) {
if (page_result && !page_result.error) {
alert("성공");
}
}
);

} 출처:http://brendaniel.github.io/2017/01/10/Facebook-Graph-API를-활용한-Page-글쓰기/



검수과정을 하지 않아서 인지... 이미지가 표기 안됨...--;;;

https://developers.facebook.com/docs/apps/changelog#v2_9_90_day_deprecations 덴당...덴당..

반응형