일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- MSsql
- FCM
- 라이렌
- jw player
- jquery
- CodeIgniter
- rairen
- 후크
- mysql
- 설정
- 옵션표
- 헬퍼
- 웹 프로그래밍
- php
- function
- APK
- phpDocumentor
- codeigniter3
- 영카트
- config
- Database
- 안드로이드
- 코드이그나이터
- ajax
- 함수
- javascript
- API
- 그누보드
- html
- CI3
Archives
- Today
- Total
프로그램 개발서
[페이스북]Access Token 만료 받지 않기 본문
준비물
페이스북 개발자 계정
방법
1. 페이스북에 로그인
2. 페이스북 개발자 주소로 접속하여 '그래프 API 탐색기' 화면으로 이동
( 링크 : https://developers.facebook.com/tools/explorer/ )
3. 그래프 API 탐색기에서 필요한 정보 추출 ( 엑세스 토큰, ID )
3-1. 엑세스 토큰은 화면 우측에서 Get Access Token을 눌러 새로 받을 수 있다.
3-2. ID는 화면 내용에서 우측 상단에 제출 버튼을 누르면 좌측 내용에서 확인할 수 있다.
4. 엑세스 토큰을 장기 액세스 토큰으로 전환.
//fb_exchange_token타입 액세스 토큰 요청
$data = array(
'client_id' => '1829634413932089',
'client_secret' => '892ebb85a92d288794fabfb4ad6d22fa',
'grant_type' => 'fb_exchange_token',
'fb_exchange_token' => '[엑세스 토큰]'
);
$url = "https://graph.facebook.com/v6.0/oauth/access_token" . "?" . http_build_query($data);
$ch = curl_init(); //curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //connection timeout 10초
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //원격 서버의 인증서가 유효한지 검사 안함
$response = curl_exec($ch);
curl_close($ch);
$long_token = (array)json_decode($response); //결과 값 출력
// $long_token['access_token'] 장기토큰
// $long_token['expires_in'] 만료기간
Array
(
[access_token] => [장기 엑세스 토큰]
[token_type] => bearer
[expires_in] => 5119148
)
5. 토큰 만료 받지 않기
$data = array(
'access_token' => [장기 엑세스 토큰]
);
$url = "https://graph.facebook.com/[그래프 API Version]/[ID]/accounts" . "?" . http_build_query($data);
$ch = curl_init(); //curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //connection timeout 10초
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //원격 서버의 인증서가 유효한지 검사 안함
$response = curl_exec($ch);
curl_close($ch);
$result = (array)json_decode($response); //결과 값 출력
Array
(
[data] => Array
(
[0] => stdClass Object
(
[access_token] => [만료기간 받지 않은 토큰]
[category] =>
[category_list] => Array
(
[0] => stdClass Object
(
[id] =>
[name] =>
)
[1] => stdClass Object
(
[id] =>
[name] =>
)
)
[name] =>
[id] =>
[tasks] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
)
)
)
[paging] => stdClass Object
(
[cursors] => stdClass Object
(
[before] =>
[after] =>
)
)
)
6. 사용하려는 API에서 토큰을 사용하면 끝!
※ PHP로 진행을 했으나 Javascript에서도 충분히 토큰 얻는게 가능합니다.
반응형
'Web' 카테고리의 다른 글
mysqldump utf8 덤프 한글 문제 (0) | 2020.04.28 |
---|---|
[코드이그나이터] 개발,시험,운영 환경 구분하는 ENVIRONMENT 설정 (0) | 2020.03.06 |
[JW Player] 추가 버튼 삽입, 삭제 API (0) | 2019.12.11 |
[카페24 쇼핑몰] 구매자 취소/교환/반품 신청 설정 (1) | 2019.10.11 |
[Git] git clone 시 자격증명 에러 해결방법 (0) | 2019.09.30 |