[ Api ] 네이버 블로그 포스팅하기 > knowledge

본문 바로가기

사이트 내 전체검색

knowledge

[ Api ] 네이버 블로그 포스팅하기

작성일 18-09-19 15:42

페이지 정보

작성자 웹지기 조회 6,520회 댓글 0건

본문

※ 순서 

1. 블로그 API연결암호 받기 

 내 블로그 관리-메뉴 글관리-글쓰기 API설정에서 API연결 암호를 발급받고 저장하세요.   


2. 먼저 curl이 설치된 환경인가 확인필요 

 대부분 호스팅을 이용하시는 분은 curl이 사용가능할 것이라 생각됩니다. 직접 서버 운영하시는분은 이미 알고계실테니 이부분은 패스하겠습니다. 

로컬에서 APM으로 작업하시는분은 php.ini 파일에서 curl관련 주석삭제하시고 서버 재시작하시기 바랍니다.   extension=php_curl.dll 이부분은 디폴트 상태라면 주석처리 되어있을 것입니다.   


3. 실행파일 작성 임의의 이름으로 php파일을 만듭니다. 저는 /lib/naver_posting.php파일로 만들었습니다. 내용은 아래와 같이

<?php

if (!defined('_GNUBOARD_')) exit;

$naver_posting = explode("|",$board['bo_2']);

include_once($g4['path']."/lib/xmlrpc.inc.php");

if($g4['charset'] == "euc-kr")

    $title = iconv("EUC-KR","UTF-8",$wr_subject);

else

    $title = $wr_subject;


if($g4['charset'] == "euc-kr")

    $description = iconv("EUC-KR","UTF-8",$wr_content);

else

    $description = $wr_content;


$description = str_replace("\\\"", "\"", $description);

function newPost($title, $description)

{

    global $naver_posting;

    $g_blog_url = "https://api.blog.naver.com/xmlrpc";

    $user_id = $naver_posting[0];

    $blogid = $naver_posting[1];

    $password = $naver_posting[2];

    $publish = true;

    $client = new xmlrpc_client($g_blog_url);

    $client->setSSLVerifyPeer(false);

    $GLOBALS['xmlrpc_internalencoding']='UTF-8';

    $struct = array(

        'title' => new xmlrpcval($title, "string"),

        'description' => new xmlrpcval($description, "string")

    );

    $f = new xmlrpcmsg("metaWeblog.newPost",

        array(

            new xmlrpcval($blogid, "string"),

            new xmlrpcval($user_id, "string"),

            new xmlrpcval($password, "string"),

            new xmlrpcval($struct , "struct"),

            new xmlrpcval($publish, "boolean")

        )

    );

    $f->request_charset_encoding = 'UTF-8';

    return $response = $client->send($f);

}

$return = newPost($title,$description);

?>

위에 빨간글자로 네이버 아이디 및 api암호키를 본인에 맞게 수정하세요. 상단 인클루드 된 xmlrpc.inc 파일은 본글에 첨부하겠습니다.   


4. 테스트 보드 생성 

 임의의 이름으로 테스트할 게시판을 생성합니다. 

게시판관리-여분필드 설정 [1-10] 

(여분필드에 "포스팅할블로그|포스팅할계정|포스팅api암호" 입력)

/board/write_update.php파일에 추가

 //네이버 포스팅

if($board['bo_2']) 

    include_once($g4['path']."/lib/naver_posting.php");


5. 글을 등록해봅니다. 

 임의대로 글을 등록하신 후 네이버 블로그에서 설정한 카테고리에 글이 제대로 등록되었는지 확인하세요. 

그림같은 경우 로컬에서 등록하시면 절대경로로 등록되기때문에 실제 블로그에서는 엑박으로 보일거에요.   

이후 작업할 내용은 본인 사이트 환경에 맞게 실행파일내에 관리자 이상 권한을 주시기 바랍니다. 

이부분이 특히 중요한데, 별다른 필터링 없이 글등록만 되면 무조건 연동되기때문에 실행하는 파일쪽에서 제어해주셔야합니다.  

스크립트를 써서 직접 글등록 액션을 주셔도 되겠지만, 최대한 간략하게 하기 위해 실행문에서 제어하시기 바라며, 

보드변수 사용이 그대로 가능하니 글등록 체크옵션을 생성한후 비교 제어하셔도 되겠습니다.   

모든 테스트가 완료된 후 웹에 올리시고 적용하시기 바랍니다. 

개발노트 FAQ를 보면 이방법은 보안상 권장하는 방법이 아니기때문에 반드시 실행파일쪽에서 권한제어 하시기 바랍니다. 


추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 89건 4 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기