blog:facebook_api_get_posting_4_php

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
blog:facebook_api_get_posting_4_php [2020/02/29 06:16] – ↷ Page moved from blogs:facebook_api_get_posting_4_php to blog:facebook_api_get_posting_4_php prgramblog:facebook_api_get_posting_4_php [2025/07/07 14:12] (current) – external edit 127.0.0.1
Line 3: Line 3:
 {{tag>blogs 페이스북API Facebook API 자동화 PHP}} {{tag>blogs 페이스북API Facebook API 자동화 PHP}}
  
-{{section>blogs:facebook_api_get_posting_1_api#intro &noindent&nolink&nouser&noeditbtn&nocomments&notags&nodate}}+{{section>blog:facebook_api_get_posting_1_api#intro &noindent&nolink&nouser&noeditbtn&nocomments&notags&nodate}}
  
  
-매일 페이스북에 포스팅을 하고 있기 때문에, wiki 페이지 내에 Archiving 된 내용은 최신 현황이 아닐 가능성이 높다.\\ +매일 페이스북에 포스팅을 하고 있기 때문에, wiki 페이지 내에 Archiving 된 내용은 최신 현황이 아닐 가능성이 높다. 
-[[blogs:facebook_api_get_posting_3_image_ftp_write#다음|이전편#다음]] 에서 밝혔듯, 윈도의 '작업스케쥴러' 등을 이용해 Near Time으로 받아올 수 있지만,\\ +[[blog:facebook_api_get_posting_3_image_ftp_write#다음|이전편#다음]] 에서 밝혔듯, 윈도의 '작업스케쥴러' 등을 이용해 Near Time으로 받아올 수 있지만, 그래도 Archiving 페이지 내에서 최신 글이 몇개가 더 있다는 정보는 보여줄 필요가 있었다. 
-그래도 Archiving 페이지 내에서 최신 글이 몇개가 더 있다는 정보는 보여줄 필요가 있었다.\\ + 
-\\ +현재 이용하는 웹호스팅에서 PHP를 지원하기 때문에, PHP를 통해서 페이스북 페이지 정보를 얻어와 항상 최신 현황을 볼 수 있는 스크립트를 만들어 보았다.
-현재 이용하는 웹호스팅에서 PHP를 지원하기 때문에, PHP를 통해서 페이스북 페이지 정보를 얻어와 항상 최신 현황을 볼 수 있는 스크립트를 만들어 보았다.\\+
 PHP는 아주 예전에만 써봤기 때문에 문법 등이 익숙하지 않아 많은 검색을 통해서 작성했다. PHP는 아주 예전에만 써봤기 때문에 문법 등이 익숙하지 않아 많은 검색을 통해서 작성했다.
-\\ + 
-\\+
 아래 그림 부분이 결과물이다. 아래 그림 부분이 결과물이다.
-\\ + 
-{{:blogs:pasted:20200220-194409.png?400|}} +{{blog:pasted:20200220-194409.png?400|}} 
-\\+
 ===== API 호출 ===== ===== API 호출 =====
 <code php> <code php>
Line 37: Line 36:
  
 </code> </code>
-\\+
   * 본래 PHP에서 API를 호출할 때는 ''file_get_contents ( 'http://example.com');'' 를 사용하면 간편하다. 하지만 저가 웹호스팅의 경우 서버 설정 상에서 ''allow_url_fopen''을 ''off''로 설정해 놓는 경우가 많기 때문에 file_get_contents 함수를 사용하면 에러가 발생한다.   * 본래 PHP에서 API를 호출할 때는 ''file_get_contents ( 'http://example.com');'' 를 사용하면 간편하다. 하지만 저가 웹호스팅의 경우 서버 설정 상에서 ''allow_url_fopen''을 ''off''로 설정해 놓는 경우가 많기 때문에 file_get_contents 함수를 사용하면 에러가 발생한다.
     * 해결법을 구글링을 통해 위와 같이 cURL 라이브러리를 사용하여 API 응답 값을 받아오는 함수를 사용하였다. (출처 : https://cnpnote.tistory.com/entry/PHP-ini-filegetcontents-%EC%99%B8%EB%B6%80-URL)     * 해결법을 구글링을 통해 위와 같이 cURL 라이브러리를 사용하여 API 응답 값을 받아오는 함수를 사용하였다. (출처 : https://cnpnote.tistory.com/entry/PHP-ini-filegetcontents-%EC%99%B8%EB%B6%80-URL)
     * 참고 cURL : https://hiseon.me/php/php-curl-example/     * 참고 cURL : https://hiseon.me/php/php-curl-example/
  
-\\ + 
-\\+
 ===== 최신Archiving 날짜를 받아서 날짜 객체로 만들기 ===== ===== 최신Archiving 날짜를 받아서 날짜 객체로 만들기 =====
 <code php> <code php>
Line 51: Line 50:
 $base_date = strtotime($base_date); $base_date = strtotime($base_date);
 </code> </code>
-\\+
   * date라는 변수를 GET형식으로 받아서 strtotime 함수를 사용해서 날짜 객체로 변환하였다.   * date라는 변수를 GET형식으로 받아서 strtotime 함수를 사용해서 날짜 객체로 변환하였다.
   * 2편에서 밝혔듯이 Facebook API에서 응답하는 날짜들은 모두 UTC 기준이다.   * 2편에서 밝혔듯이 Facebook API에서 응답하는 날짜들은 모두 UTC 기준이다.
-\\+
   * 이 날짜와 비교해서 이 날짜보다 이후에 작성된 포스팅들의 개수를 셀 것이다.   * 이 날짜와 비교해서 이 날짜보다 이후에 작성된 포스팅들의 개수를 셀 것이다.
  
-\\ + 
-\\+
 ===== json 처리 ===== ===== json 처리 =====
 <code php> <code php>
Line 75: Line 74:
  }  }
 </code> </code>
-\\+
   * 앞서 만든 get_content를 통해 얻어온 응답값은 ''json_decode'' 함수를 통해서 json 형식을 사용할 수 있다.   * 앞서 만든 get_content를 통해 얻어온 응답값은 ''json_decode'' 함수를 통해서 json 형식을 사용할 수 있다.
   * 사용법은 ''$obj->'key값''', ''$obj->'key값'[리스트index]'' 로 사용할 수 있다.   * 사용법은 ''$obj->'key값''', ''$obj->'key값'[리스트index]'' 로 사용할 수 있다.
Line 81: Line 80:
   * $count_list 가 Archivng된 이후에 작성된 글들의 개수이다.   * $count_list 가 Archivng된 이후에 작성된 글들의 개수이다.
  
-\\ + 
-\\+
 ===== 결과 출력하기 ===== ===== 결과 출력하기 =====
 <code php> <code php>
Line 101: Line 100:
 </code> </code>
  
-\\+
   * Line 1-5: 속도 문제 때문에 한번에 50개만 호출하고, 그 이상 새글이 있으면 '+'를 붙여주어서 50개 이상이 있다는 것을 표시하도록 했다.   * Line 1-5: 속도 문제 때문에 한번에 50개만 호출하고, 그 이상 새글이 있으면 '+'를 붙여주어서 50개 이상이 있다는 것을 표시하도록 했다.
   * 아래와 같은 변수들을 GET형식으로 받아서 출력 형식을 지정하도록 했다.   * 아래와 같은 변수들을 GET형식으로 받아서 출력 형식을 지정하도록 했다.
Line 107: Line 106:
     * front, mid, end : ''$front [최신글날짜] $mid [최신글 개수] $end'' 형식으로 출력시 설명할 수 있는 문장을 받도록 했다.     * front, mid, end : ''$front [최신글날짜] $mid [최신글 개수] $end'' 형식으로 출력시 설명할 수 있는 문장을 받도록 했다.
     * $format : 최신글 날짜를 어떻게 표시할 것인지 format을 설정     * $format : 최신글 날짜를 어떻게 표시할 것인지 format을 설정
-\\ + 
-\\+
 ===== 사용 ===== ===== 사용 =====
-간단한 몇 줄의 코드로 최신 현황을 받아오는 기능을 만들었다. +간단한 몇 줄의 코드로 최신 현황을 받아오는 기능을 만들었다. 이를 wiki 페이지에서 보이도록 하기 위해서 <iframe> 기능을 이용해서 해당 php 파일을 embedding 하였다.
-이를 wiki 페이지에서 보이도록 하기 위해서 <iframe> 기능을 이용해서 해당 php 파일을 embedding 하였다.+
 <code>  <code> 
 <iframe src=' <iframe src='
Line 124: Line 122:
 </code> </code>
  
-\\ + 
-\\+
 ===== 추후 작업해야 할 것 ===== ===== 추후 작업해야 할 것 =====
-첫번째 목적인 Archiving을 위한 작업은 끝났다.\\ +첫번째 목적인 Archiving을 위한 작업은 끝났다. 
-\\+
 추후에는  추후에는 
   - 권한 문제를 해결하여 포스팅별 도달수, 공유수, 좋아요 수, 페이지 좋아요 수 등을 추출할 수 있도록 개선   - 권한 문제를 해결하여 포스팅별 도달수, 공유수, 좋아요 수, 페이지 좋아요 수 등을 추출할 수 있도록 개선
Line 134: Line 132:
 를 해보도록 해야 겠다. 를 해보도록 해야 겠다.
  
-\\ + 
-\\+
 ==== 참고 ==== ==== 참고 ====
   * PHP에서 날짜 처리 : https://nowonbun.tistory.com/633   * PHP에서 날짜 처리 : https://nowonbun.tistory.com/633
   * cURL 라이브러리 : https://cnpnote.tistory.com/entry/PHP-ini-filegetcontents-%EC%99%B8%EB%B6%80-URL   * cURL 라이브러리 : https://cnpnote.tistory.com/entry/PHP-ini-filegetcontents-%EC%99%B8%EB%B6%80-URL
   * JSON 사용법 : https://niceman.tistory.com/149   * JSON 사용법 : https://niceman.tistory.com/149
-\\+
 ~~DISCUSSION~~ ~~DISCUSSION~~
  
  
  • blog/facebook_api_get_posting_4_php.1582956996.txt.gz
  • Last modified: 2025/07/07 14:12
  • (external edit)