하루가 지나서야 3부를 작성하네요...

월초라서 회사일이 바쁘다보니 ^^... 더군다나 오늘은 우리 아기의 선물을 택배아저씨가 으쌰으쌰 들고 오셔서 그걸 조립하느라 3시간을 허비했네요.


그럼, 이제 3부를 가볼까요.

아마 3부가 마지막이 될거 같습니다. ㅎㅎ

티스토리에서 모바일 애드센스를 붙이기 위한 우리에게 가장 필요한건 뭐?

그렇죠. ㅎㅎ 본문 상단에 광고코드만 딱!!!!하니 들어가면 된다 이거죠.


Access Token 으로 글을 수정하자

2부에서 받아온 Access Token 을 세션변수에 딱하니 저장해두었습니다.

그럼, 이 세션변수로 블로그 정보를 읽어야 되는데, 그러기엔 귀찮습니다.

해당하는 글만 수정하는 방향으로 코드를 짜는겁니다.



파일이름은 step2.php 로 지정하겠습니다.

그전에 내가 수정할 글 번호를 알아야 합니다. 그럼, 그 글번호는 어떻게 아느냐...

지금 현재 이 글의 주소를 보시면 http://www.i-swear.com/882 라고 되어있을겁니다.

이 882 라는 주소가 글번호입니다.

이번파일도 복사하기 귀찮은 분들을 위해 다운로드는 서비스!

step2.php


### php
include "config.php";

$_SESSION['access_token'] = trim($_SESSION['access_token']);

// 글내용을 가져옵니다.
// 나의 블로그 주소는 2차 도메인이 http://i-swear.com 이라면
// i-swear.com 을 기록하고,
// 2차도메인이 없이 티스토리 도메인을 사용한다면 (티스토리아아디.tistory.com)
// 티스토리아이디만 입력합니다.
$url = "https://www.tistory.com/apis/post/read";
$url .= "?access_token={$_SESSION['access_token']}";
$url .= "&targetUrl=나의블로그주소&postId=글번호";

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_HEADER, false);
$content = curl_exec( $ch );
curl_close ( $ch );
$xmlObj = simplexml_load_string($content);

$row = $xmlObj2->item;

// 글수정하기
$title = urlencode($row->title);
$content = "구글광고코드입력";
$content .= $row->content; // 글본문
$content = urlencode($content);

$POST_DATA = "access_token={$_SERVER['access_token']}";
$POST_DATA .= "&targetUrl=나의블로그주소";
$POST_DATA .= "&title={$title}";
$POST_DATA .= "&postId={$row->id}";
$POST_DATA .= "&content={$content}";

$url = "https://www.tistory.com/apis/post/modify";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_HEADER, false);
curl_setopt ($ch, CURLOPT_POST ,1);
curl_setopt ($ch, CURLOPT_POSTFIELDS , $POST_DATA);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec( $ch );
curl_close ( $ch );


이렇게 하는 것으로 간단하게 티스토리 API 를 이용하여 글을 수정할수 있었습니다.

무언가 부족한것 같지만, 여기서 마무리를 지을까합니다.

광고 삽입 쉽게 하기 링크를 따라가시면 아래와 같은 페이지를 보실수 있습니다.

부족한 설명을 이걸로 떼우겠습니다. -ㅅ-





이 글과 연관된 글

2013/01/04 - 티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 1부

2013/01/04 - 티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 2부

2013/01/05 - 티스토리 오픈 API 를 이용하여 내 블로그 글 수정하기 3부

2013/01/10 - 티스토리 구글애드센스 데스크탑,모바일 광고 구분하여 보내기

티스토리오픈API 이용하여 광고 삽입 쉽게 하기



Posted by 알찬돌삐

댓글을 달아 주세요

  1. 피클 2013.01.05 23:17 신고  댓글주소  수정/삭제  댓글쓰기

    새로 글이 등록되면 어떻게 하나효?

    • 알찬돌삐 2013.01.05 23:54 신고  댓글주소  수정/삭제

      자동으로 광고가 들어가진 않습니다.
      말 그대로 많은 글을 수정해야 할 경우에,,,,
      이런 경우가 어떤 경우냐하면.
      기존에 PC 에 대응하여 애드센스 코드를 작성해두었는데,
      모바일에서도 애드센스 코드가 나오게 하려면,
      본문 자체에 애드센스 코드가 들어가야 합니다.
      이런 경우에 쓰는 것이죠.

  2. 안녕하세요 2013.01.06 01:04 신고  댓글주소  수정/삭제  댓글쓰기

    php를 실행 시킬때 링크에 있는 사이트처럼 애드센스 삭제기능 없나요?

    주석이 다르면 안된다고 설명에 적혀있어서요.

    • 알찬돌삐 2013.01.06 01:16 신고  댓글주소  수정/삭제

      삭제도 말이 삭제지,
      글수정입니다. ^^
      3부에 보시면 글수정에 관련된 샘플 코드가 있으니,
      해당 샘플코드를 응용하셔서 작업하시면 가능합니다. ~.
      저기에서 삭제를 넣은것은,
      광고코드를 삽입할때 고유한 주석을 입력하여,
      삭제할때 용이하도록 해두었기 때문에 가능한것입니다.

  3. 버그 2013.01.07 21:44 신고  댓글주소  수정/삭제  댓글쓰기

    버그인지 모르겠지만, 게시글 태그에 '&'이 있으면 게시물 내용이 다 지워집니다.
    다행히 백업이 되어있는 글이라 괜찮았네요.

    • 알찬돌삐 2013.01.07 23:08 신고  댓글주소  수정/삭제

      이 예제를 따라했을때 그렇게 된다는것이지요?
      혹시 제목에 & 가 있을때 그런 현상이 나타나지 않던지요?
      해당 부분을 지금 확인하여 글내용을 수정하였습니다.
      죄송합니다.

    • 버그 2013.01.07 23:58 신고  댓글주소  수정/삭제

      http://tistory.i-swear.com로 들어가서 글에 소스를 넣을때입니다.

      Warning, simplexml_load_string() [function.simplexml-load-string], Entity, line 18, parser error , xmlParseEntityRef, no name in /usr/local/apache2/htdocs/tistory/step3.php on line 33

      Warning, simplexml_load_string() [function.simplexml-load-string], <tag>&</tag> in /usr/local/apache2/htdocs/tistory/step3.php on line 33

      Warning, simplexml_load_string() [function.simplexml-load-string], ^ in /usr/local/apache2/htdocs/tistory/step3.php on line 33

      대략 이런식으로 나옵니다. <tag>&</tag>부분에 글자와 &이 조합되어있어도 이런 오류가 나옵니다.

      저는 게시글이 백업본이 있어서 그 글만 수동으로 다시 쓰고 소스를 넣었습니다. 제 블로그만 그런지 모르겠지만, <tag>로 오류창을 띄우는 것 보니 태그 문제로 보여서요.

    • 알찬돌삐 2013.01.08 01:13 신고  댓글주소  수정/삭제

      태그라고 해서 HTML 태그인줄 알았네요.
      말 그대로 태그클라우드에 들어가는 TAG(태그)였군요.
      태그에 & 가 들어가있을경우,
      XML 데이터를 티스토리에서 &amp; 로 보내주어야 하는데 ㅠ.ㅡ
      그냥 보내줘서 XML PARSE 에서 오류가 나네요 ...
      에공. XML PARSE 를 제대로 못할 경우 <tag> 부분을 삭제처리하도록 변경하여 tistory.i-swear.com 의 소스를 수정하였습니다.
      어차피 <tag> 는 쓰지 않으니깐요 ^^.
      오류사항을 알려주셔서 감사합니다.

  4. 글 잘 보았습니다 2013.01.25 19:06 신고  댓글주소  수정/삭제  댓글쓰기

    좋은글 잘 봤습니다

    혹시

    삭제는 일괄적으로 어떻게 하나요?

  5. 강건마 2014.02.27 14:50 신고  댓글주소  수정/삭제  댓글쓰기

    님이 공유해주신 코드는 잘 쓰고있습니다 ㄳㄳ

    그런데 글쓰기는 되는데 말이죠

    파일 업로드는 아무리 해도 안되네요

    파일 업로드해서

    마지막에 $content부분을 출력을하면 정상적인 파일 업로드를 수행해주세요.라고만 나와요

    혹시 왜그러는지 해결책 있으시면 공유좀 해주시면 감사하겠습니다

    무늬만 개발자라 너무 힘들군여..ㅠ

  6. 2014.03.24 16:33  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  7. 2014.04.10 15:03  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다



티스토리 툴바