티스토리 뷰
http://blog.naver.com/q1q3q5/10105848477
===================================================================
http://blog.daum.net/palranggoblin/24?srchid=BR1http%3A%2F%2Fblog.daum.net%2Fpalranggoblin%2F24
죽는 줄 알았다... 난.. 왜 이렇게 느리게 배우는지 모르겠다;;ㅠㅠ 맙소사.. search 능력이라도 좋았으면.. 금방 해결 할 수 있는 문제였는데... 무엇보다.. 나는 아직 기본이 없는것 같다.. 정말.. 자세하게 명시되거나 완벽한 예시가 없으면.. 언제나 느리게 이해하니 말이다.ㅠㅠ 빨리.. 커서 어떤 문제에 직면해도 유연하게 대처할 수 있는 능력이 생겼으면 좋겠다... 장작.... 5시간에 걸쳐서 해결한 문제이다.. 흠... 멍청한건.. 죄다!!! p.s. 자세한 내용은 아래의 주소를 참조하길 바란다! http://www.s-tune.com/blog/397 <- oAuth를 이용한 Twitter에 php로 글쓰기 http://mudchobo.tistory.com/498 <- PHP용 트위터 OAuth연동라이브러리 twitteroauth 사용법 http://smok95.tistory.com/213 <- 트위터 twitter API 어플리케이션 등록하기 설명 드릴 내용은.. 관련.. 정보를 혼합하여 내가 헷갈린 부분까지 모조리 설명!!!!! =============================================================================================================================
1. 기초자료 수집 및 환경 설정! 1) 동작원리 ① 연동할 어플리케이션을 등록합니다.
#. 예제 소스 다운받기!! http://github.com/abraham/twitteroauth/downloads 로 들어가서 download 한 후 해당 위치에 폴더를 풀어 주세요! (기본 : C:\APM_Setup\htdocs (아마;; 아파치로 사용하시면... 기본이 아닐까요??))
그리고 무작정 connect.php 를 시작해 보자.
막... 이런 식으로 에러 메시지가 나온다..... 물론... 굵게 된 부분은.. 경로에 따른 사항이니^^ Fatal error : Call to undefined function curl_init() 이 부분을 복사해서 검색을 하게 되면... 많은 답변이 나올것이다!
해결방법 하나! C:\APM_Setup 에 있는 php.ini에 들어가서 " extension=php_curl.dll " 이부분에 주석을 지우고 아파치를 재동작시켜주면 된다. (다른 블로그에서는 위 경로에 있는 php.ini에서 수정해도 안된다고... 질문이 들어온걸 확인 할 수있었다... 이게 정답일지 모르겠지만... C:\APM_Setup\Server\Apache\bin 에 있는 php.ini에 들어가서 " extension=php_curl.dll " 이부분에 주석을 지우면 된다고 한다!) 해결방법 둘! 일반적으로 잘 사용하지 않는 function 이기 때문에 curl 설치와 PHP 의 컴파일이 필요하다.![]() 설치했을 때 curl 옵션을 주지 않았던 것이 원인. 물론 curl 이 설치 되어 있어야 가능한 이야기다. ![]() curl은 http://curl.haxx.se 에서 받을 수 있다. ![]() 자신의 환경에 맞는 파일을 받으면 되는데, 아직까지 bz2 에는 정이 가지 않아 gz파일을 받았다. ![]() 용량은 그리 크지 않기 때문에 받는데 긴 시간이 필요하지는 않는다. ![]() 옵션 또한 매우 간단하기 때문에 설치할 폴더만 지정하고, 환경 설정 파일을 만든다. ![]() 서비스에 직접적으로 영향을 미치지 않기 때문에 make와 install을 한번에! 물론, 정석대로라고 하면 지적 받을만한 행동이다. ![]() 설치 폴더를 방문해 제대로 설치가 됐나 다시한번 확인하고! ![]() PHP 를 다시 설치할 준비를 한다. 우선은 phpinfo 에 나온 configure command를 기록해두자. 버전이 업그레이드 되어도 이 command 가 동일하다면 작업에 큰 어려움이 없다. 물론! php.ini 는 반드시 백업해 두자. ![]() command 에 --with-curl=/usr/local/curl 을 추가하면 된다 ![]() 필자가 사용하던 PHP 버전은 5.2.9 인데, 5.3 버전으로 업그레이드가 됐다. 물론 5.3 버전을 설치하는게 낫지만. 5.2 버전도 충분하므로 가장 마지막 버전인 5.2.13을 설치하기로 했다. ![]() curl 과 마찮가지로 wget 으로 파일을 받고 압축을 푼다음 ![]() 위에서 만든 command 라인을 사용해 PHP 환경 설정을 구축한다 ![]() 여기서 주의할 것은 curl 과 달리 PHP 는 현재 서비스 중인 핵심 파츠이므로 반드시 현재 설정을 테스트 하는게 좋다. ![]() 크리티컬한 문제였다면 더이상 진행하지 않는게 좋지만, 무시해도 되는 경고가 발생했으므로 PHP 를 설치한다. ![]()
#. 어플리케이션 등록하기 이번 과정을 트위터 인증키를 받기 위한 과정이다. 우선 http://twitter.com/apps/new 를 방문해 내용을 입력하자. 뭐, 대강 입력해도 나중에 수정할 수 있는 만큼 크게 신경쓰지 않아도 된다.
** 여기서 조심해야 할 부분.... 이번 예제는 callback.php가 존재하기 때문에.. Callback URL 부분에 해당 파일의 경로를 입력주시면 된다! 2. 예제 실행시키기 위 과정을 끝내면 아래와 같은 CONSUMER_KEY와 CONSUMER_SECRET 등 인증에 필요한 값을 보여준다. 아래의 값들은 모두 중요하게 사용되므로 창을 닫지 말자! (물론,, 창을 닫거라도 내용이 바뀌지 않으니 안심하도록!) ![]() ![]() 그리고 twitteroauth.php 에 인증 경로를 수정함으로써 모든 작업은 끝나게 된다.
3. 결과화면 index.php를 먼저 실행시키거나, connect.php를 먼저실행시키면... 위 화면이 나오게 된다.... " Sign in with Twitter " 부분을 누르면 아래와 같은 결과 화면이 나오게 된다. 사용자이름, 비밀번호를 옳게 입력하면 아래와 같은 화면이 나오게 된다.
인증을 취소할 경우를 대비해서 account/verify_credentials api를 요청해 인증이 살아있는지 확인을 해야합니다. #. 글 작성하기 ![]() 그냥 보기에도 쉽게 이해할 수 있는 것으로 우리가 주로 사용하는 글 등록은 'statuses/update' 이며, 나머지는 삭제, 등록 등을 연결해 주는 부분이다. 이번 포스트는 글 등록만 설명하기로 한다. (삭제등은 너무 간단하다. ID 를 보내면 그냥 삭제되고 끝난다.) 주석을 풀고 동작시켜 보자. ![]() 너무나 간단하게 내 트위터에 "hello gloriashield"가 등록 되었음을 확인할 수 있다. 이번엔 한글을 포스팅 해 보자. 여기서 주의할 것은 트위터는 EUCKR 을 지원하고 있지 않으며, 모든 메세지는 UTF-8로 처리되기 때문에, 만약 내가 입력받은 데이터가 EUCKR 이라면 반드시 UTF-8로 변환해 줄 필요가 있다. 어떠한 결과를 얻을 수 있을까? ![]() #. url줄이기 이 API Key 는 bit.ly의 API 에서 직접적으로 사용되므로 창을 닫지 말자.![]() ![]() ![]() 의문가는 사항이나... 궁금한 점은.... 물어봐 주길.. 바랍니다... 아니... 찾는편이 빠를껀가?ㅠㅠㅠ 저두 배우는 입장이지만... 오늘.. 많~~은.... 경험을 하게 되서..... 혹시나 같은 경험을 하는 분들이 계실까.. 최대한 자세히 적어봤습니다. 저처럼... 멍청이 되지 않길 바래요!!!!!!! 천재로 변신~~~>_< |
'dev > php' 카테고리의 다른 글
| Mongodb :: createDBRef, getDBRef (0) | 2011.11.01 |
|---|---|
| mail()함수를 이용하여 UTF-8 문서를 안전하게 보내는 방법 (0) | 2011.05.27 |
| ARRAY to XML (2) | 2011.03.25 |
| Codeigniter Wiki ::: Special:Titles (0) | 2011.02.22 |
| codeIgniter 모델에서 다른모델 가져오기 (0) | 2011.02.17 |
























