블로그 이미지
Flying Mr.Cheon youGom

Recent Comment»

Recent Post»

Recent Trackback»

« 2025/5 »
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

 
 

tistory api access token 얻는 방법

서버/Python | 2020. 4. 25. 14:49 | Posted by youGom
 
티스토리 API를 사용하기 위해서는 access_token을 발급받아야 한다. access_token을 발급받는 과정은 매우 귀찮은 과정이지만, 아래 절차를 차근차근 따라가기만 하면 어렵지 않게 발급받을 수 있을 것이다.
 
가장 먼저 아래 URL에 가서 클라이언트 등록을 하자. 그냥 쉽게 내가 티스토리 API를 통해서 접근할 블로그 정보를 입력하는 곳이라 생각하자. 
 
 
 
1.클라이언트 등록
 
 
 
 
 
 
 
 
 
그리고 위에서 클라이언트 등록을 누르자.
 
 
 
오픈 API 이용약관에 동의표시를 하고
 
서비스명, 설명, 서비스 URL, CALL BACK 경로를 입력하자.
 
따로 CALLBACK 경로가 없는 경우는 그냥 서비스 URL이랑 같다고 생각하면 된다.
 
그리고 저장하면, 클라이언트 등록은 끝.
 
 
 
 
2. Code 발급 받기
 
 
 
먼저 Access_Token을 발급받기 전에, code를 발급받아야 한다. 
 
클라이언트 등록 옆에 있는 '클라이언트 관리'를 눌러보자.
 
 
 
 
그럼 위와 같은 화면을 볼 수 있다. 
 
해당 화면에서 Client ID 그리고 서비스 URL을 아래 URL에 입력해준다.
 
 
https://www.tistory.com/oauth/authorize?client_id=Client ID&redirect_uri=http://서비스 URL&response_type=code&state=someValue
 
 
위 URL의 빨간색 부분에 맞게 채워넣으면 된다.
 
 
이제 해당 URL을 익스플로러(Explorer) 주소창에 입력하자. (크롬 말고 익스플로러로 하시길 바랍니다!!!!)
 
 
 
 
그럼 위와 같은 창이 나오는데, '허가하기' 버튼을 눌러준다.
 
 
 
 
 
여기서 주의해야할 점은 '허가하기'버튼을 누르고 나면 위와 같이 ?code= 뒤에 문자열들이 있는 것을 볼 수 있다.
 
해당 문자열을 통해서 access token을 얻을 수 있으므로 잘 복사해두길 바란다. (&state전까지!!!!)
 
 
 
 
3.Access Token 얻기 (마지막 단계!)
 
그럼 이제 대망의 access token얻는 부분이다. 
아래 URL에 Client ID, Secret Key 그리고 서비스 URL을 적어준다. 이정보는 앞서 살펴봤던 '클라이언트 관리'에 나와있다.
 
마지막으로 코드에 해당하는 부분에는 앞서 2번 과정에서 발급받은 code= 뒤에 있는 문자열 (&state전까지!)을 복사해서 붙혀넣으면 된다.
 
 
https://www.tistory.com/oauth/access_token?client_id=Clinet ID&client_secret=Secret Key&redirect_uri=http://서비스 URL&code=코드(방금받은거)&grant_type=authorization_code
 
 
 
그런 다음 해당 URL을 익스플로러 주소입력하는 부분에 복사 붙혀넣기 해준다.
 
그리고 중요한 것은 여기서 F12를 눌러주면 하단에 창이 뜨는데, 거기서 '디버거'를 누르면 위와 같이 access_token이 발급된 것을 볼 수 있다.
 
해당 access_token은 티스토리 API를 사용할 때 아주 중요한 정보이고, 또 보안상 매우 중요하기 때문에 혼자 잘 간직하고 있길 바란다.
 
만약 3번 과정에서 실패가 발생하면, 2번 과정을 다시 해주셔야합니다. code는 한번밖에 쓰이지 않습니다.
 
 

'서버 > Python' 카테고리의 다른 글

10 Minutes from pandas to Koalas on Apache Spark  (0) 2020.05.07
couchdb basic tutorial  (0) 2020.04.26
gsm bts using rasberry pi 3  (0) 2019.03.04
pwn basic in python  (0) 2018.12.11
python file to exe as one file  (0) 2018.11.01
:

[번역][ChromeApp] Getting Started

번역/Chrome App | 2013. 12. 30. 15:59 | Posted by youGom


원문 : http://developer.chrome.com/extensions/getstarted.html

오늘 : 2013 12 30


시작 : 크롬 확장 프로그램 만들기


네이티브 코드 없이 크롬 확장 프로그램에 등록할 수 있다. 이미 우리들에게 친숙한 웹 개발도구인 HTML, CSS, JavaScript의 주요 기술들로 확장 프로그램을 만들어 낼 수 있다. 이전에 웹 페이지를 만들어 본 적이 있다면, 꽤 빠르게 괜찮은 홈페이지 처럼 만들어 낼 수 있다. 원클릭으로 새끼고양이 그림에 접근할 수 있는 간단한 확장 앱을 보면서 바로 테스트해 볼 수 있다.


크롬의 옴니박스( Omnibox )에 쉽게 접근하도록 클릭가능한 아이콘 'Browser Action'이라 불리는 UI 엘러먼트를 우리는 구현할 수 있다. 클릭된 아이콘은 아래 그림과 같이 고양이 상품들이 가득한 화면이 띄워준다.


( 아래 그림이 안나올 경우, 위 원문 사이트를 다녀오면 잘 보여진다. )

Chrome, with an extension's popup open and displaying many kittens.


가이드를 잘 따라와 준다면, 반짝거리는 디렉토리 하나가 당신 컴퓨터에 만들어 진다. 그 다음 당신이 가장 즐겨 쓰는 편집기( 개발 도구 또는 에디터 )를 띄운다. 그럼, 시작하겠습니다 !


먼저 선언( Declare ) 을 해야합니다.


우리가 가장 먼저 해야할 것은 manifest라 불리는 manifest.json을 만들어야 한다. manifest는 JSON형식과 다를바 없는 컨텐츠 테이블이다. 크롬 확장 앱의 이름, 설명, 버젼 등과 같은 속성에 대해 포함하고 있다. 상위 레벨에서 우리가 크롬에서 사용할 부분과 필요한 퍼미션( permissions )에 대해 선언할 수 있다.


새끼고양이 화면에서, 'Browser Action'를 을 만들고 싶었던 것 처럼, 인터넷에서 리소스를 부분적으로 가져와서 자유롭게 보여주려면, 크롬에게 뭔가 말을 해줘야 한다. Manifest 파일이 뭔가 말해줘야 하는 그 명령어들을 다음과 같이 포함하고 있다.


* Manifest.json


manifest.json
{ "manifest_version": 2, "name": "One-click Kittens", "description": "This extension demonstrates a browser action with kittens.", "version": "1.0", "permissions": [ "https://secure.flickr.com/" ], "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html"

} 


만들어 놓은 디렉토리에 menifest.json 파일 이름으로 데이터들을 저장하고 계속 진행한다. 또는 샘플을 다운로드 받아서 manifest.json으로 복사해 두어도 된다.


무슨 말인가요?








:

[GoogleMap] code Google API 정리

클라이언트/Android | 2013. 10. 11. 01:19 | Posted by youGom

 

 

Maps Engine api 는 지도를 생성해준다. 레이어 기능이 있어서 자유자재로 지도정보를 저장할 수 있다.

https://developers.google.com/maps-engine/documentation/best-practices

 

admin SDK 는 사용자 정보를 관리할 수 있도록 도와준다. 사용자들의 계정정보를 그룹별로 저장하고 관리 해 준다.

https://developers.google.com/admin-sdk/directory/v1/reference/

 

geocode는 검색어에 해당하는 정보를 리턴해준다. 이 정보에는 위치정보가 포함된다.

https://developers.google.com/maps/documentation/geocoding/?hl=ko

 

Place api를 이용하면 해당 위치의 주변정보를 얻을 수 있다.

https://developers.google.com/places/documentation/search#PlaceSearchRequests

'클라이언트 > Android' 카테고리의 다른 글

termux에서 ubuntu 환경 만들기  (0) 2022.07.01
[Android] UI Code Eaxple  (0) 2015.11.12
Practice Diary  (0) 2014.08.27
[GoogleMap] 개발 관련 이미지 자료  (0) 2013.10.03
[Fragment] Fragment정보 갈무리  (0) 2013.09.13
:

[NodeJS] Express를 MVC로 활용

서버/NodeJS | 2013. 8. 27. 15:06 | Posted by youGom



'제대로 배우는 NodeJS p170. ' 에 관한 내용이다.

처음에 MVC라고 해서 무슨 말인가 했다.

express말고 다른 MVC 모델 프레임웍을 소개하는건가 했다.

확장하기 편하도록 한 것으로 보인다.

이걸 MVC라 하기에는.. 좀 억지가 있어 보였다. '뭐..보는 사람마다 이해하는 사람마다 다르겠지만..'

내가 볼때에는 그냥 Visitor 패턴을 활용한 확장성을 높여준 코드로 보였다.

좀 더 풀어 쓰면,

Visitor 패턴을 활용한 CRUD 코드 작성하는 예제 코드라 생각하면 좋겠다. 

나는 CRUD는 IO접근을 위한 CRUD로 생각하고 있었지.. 이걸 따로 MVC로 CRUD를 구현했다는건지 어떤 의도였는지는 잘모르겠다. 뭐 여튼 결론적으로 하는 말은 같은것 같다. 편하게 코드짜게 해준다? ^^;


// CRUD 연결 메소드

exports.mapRoute = function ( app. prefix ) {

prefix = '/' + prefix;

var prefixObj = require( './controller/' + prefix );


// CRUD 연결 해주는 부분 : 색인 / 추가 / 조회 / 편집 / 업데이트 / 제거

app.get( prefix, prefixObj.index );

app.get( prefix + '/new', prefixObj.new );

app.get( prefix + '/:id', prefixObj.show);

app.post( prefix + '/create'. prefixObj.create)

app.get( prefix + '/:id/edit', prefixObj.edit);

app.put( prefix + '/:id', prefix.update);

app.del( prex + '/:id', prefixObj.destroy);

};


// 서버구동 부분에서 등록

...

app.get('/', route.index);

var prefixes = ['widgets'];

prefixes.forEach( function( prefix) { 

map.mapRoute( app, prefix );

});

....


// Widgets.js의 CRUD하는 실체 부분

exports.new = function( req, res ) { ... }

exports.create = function( req, res ) { ... }

exports.show = function( req, res ) { ... }

exports.destroy = function( req, res ) { ... }

exports.edit = function( req, res ) { ... }

exports.update = function( req, res ) { ... }


이렇게 하면~ 기본 단계 완성이 된다~

여기서 어떻게 확장이 되냐고?


위에 굵게 해둔 부분에서 추가 확장할 route를 만들면된다.

var prefixes = ['widgets', 'pictures', 'musics' ]; 

이렇게 한 후, pictures.js와 musics.js파일을 만들어서 똑같은 template으로 CRUD를 제공해 주면 됨! ㅋㅋ


요약 해서 말하면,

 Controller

 CRUD 연결 컨트롤러 생성 

 mapRoute();

 Model

 CRUD 실체 ( ex; Widgets ) 구현

 widgets.exports.CRUD();

 View

 App Route에 연결

 prefixes.forEach();



cURL로 테스트가 된다~ ㅋㅋ

curl --request GET http://ip:3000/widgets/new

curl --request POST http://ip:3000/widgets/create --data 'widgetname=name&widgetprice=1.0'

요러케~


난 갠적으로 다른 테스트툴을 쓰는데~ 간편하게 curl로 확인하는 것도 괜찮은 듯 하다~


MVC 흉내 내기 끝.



:

[책] Start 트위터와 미투데이

책/독서후정리 | 2011. 5. 31. 17:36 | Posted by youGom


 지은이 : 박정남


 책 제목에서와 같이 SNS 입문서와 같은 책이다. 쉬운 내용으로 구성 되어 있고, 왜 사람들이위터나 미투데이 같은 SNS를 접하는지에 대해 알려주고, 활용하는 법에 대해서 가이드해주는 책이라고 보면 된다.

 트위터를 떠올리면 한 문장으로 무엇이라 말할까?
 미투데이를 설명하라고 하면 한 문장으로 표현하라고 하면 어떻게 할까?

  나라면, [ 현재( Present ) 에 열광하게 해주는 도우미 ] 라고 말하고 싶다.

 다른 표현으로는 실시간 SNS, 마이크로 블로그, 마케팅, 뉴스, 나를 알리는 도구, Open API, ... 등 많이 있다.

 트위터는 마이크로블로그로 시작했다. 단지 140자로 표현하는 것이다. 그리고 동시에 수 많은 글이 올라가고, 얼마 안지나 그 글은 아래로 내려가게 된다. 서버에 글이 저장되긴 하지만, 글을 보존한다기 보다, 글은 실시간으로 보이고 증발한다는 표현이 어울린다.
 글의 생명력은 짧다. 그렇지만, 글은 발행한 그 즉시, 엄청난 집중을 불러 일으킨다. ( 파급효과 ) 그게 바로 마이크로 블로그의 매력이다. 

 마이크로블로그를 통해 발행되는 글을 모두 공개다. 상대의 허가를 받지 않고, 팔로윙을 통해 상대의 글을 모두 볼 수 있게 된다.









:

[책] Face to facebook

책/독서후정리 | 2011. 5. 30. 10:29 | Posted by youGom


  지은이 : 강학수, 이스토리랩

마케팅을 어떻게 해야 하는 것일까? 고객의 마음을 사로 잡는 방법이 있지 않을까?

이 책을 보고 느낀 점을 간결하게 표현하자면 아래와 같다.
휼륭한 마케팅은, 
 즐기고 있는 현재 황이 고객은 광고인지 알아 차리지 못하게 해야한다.
 위 말을 풀어보자면, 일반적인 광고( 전단지 배포, 또는 TV 광고 ) 가 내 앞에 보일 때는, 당장 불필요하기 때문에 꺼려지게 된다. 그러나, 평소에 내가 좋아하는 영화( ex. 트랜스포머, 쿵푸팬더 )의 후속편이 나오는 예고를 보게된다면, 면으로 연출될까 하는 호기심으로 바라보게 된다.

 둘 모두 같은 광고지만, 자의 경우에 고객의 관심을 갖는 률이 더 높다. 페이스북에는 이런 광고 효과가 사용하는 그 자체에 녹아 있는 것이었다.

 그중 가장 큰 개념은 [ 좋아요 ] 라는 개념이다. 사용UX에서 바라보았을 때, [ 좋아요 ] 버튼은 단지 그 브랜드가, 그 인물이, 그 제품이 좋아서 [ 좋아요 ] 를 클릭 했을 뿐이다. 좋아요를 클릭한 주된 이유는 다른 사람과 공유하고 싶고, 표현하고 싶어서이다. 이 과정에서 이미 고객은 광고를 당하고 있고, 광고를 해주고 있는 것이다. 
 기업의 입장에서 [ 좋아요 ] 는 어떤것일까? 그냥 공유나 표현의 개념일까? 물론 아니다. 브랜드가 사람들 사이에 공개되는 그 자체만으로도 엄청난 브랜드 광고 효과가 나타난다. 쉬운예로, 구 경기나 드컵 경기 때, 수들의 이나 경기장 경계의 랜드 름들이 나열된 것을 보았을 것이다. 상표와 브랜드 이름이 보여지는 그 자체만으로도 기업은 청난 광고료를 지불한다. 그와 비슷한 맥락으로 이해 하면된다.

 사용자는 그냥 재미있고 좋아서, 다른 사람과 연결되기 위한 수단으로 [ 좋아요 ] 를 이용 했고, 기업은 [ 좋아요 ]를 통해 고객이 광고 요자 이면서 급자 역할이 되어 있는 것이다.

 좋아하는 것에 대해 표현할 때, 페이스북 내에서의 페이지나 그룹에서 국한 되지 않는다. 페이지나 그룹은 내가 원하는 음악, 엔터테인먼트, 스포츠, 프로필, 제품, 브랜드 등등 많은 것을 표현하고 커뮤니티를 형성할 수 있다.
 이제는 사이트에서도 [ 좋아요 ] ( I like ) 버튼을 흔히 볼 수 있다. F8이 나오면서 Open Graph API 에 대한 사용법 ( 개발자를 위한 )이 매우 쉽게 제공되고 있다. FaceBook의 내부Graph 알고리즘을 알 필요도 없이, [ 좋아요 ] 버튼과 사용자들 사이의 공감( 소셜, 코멘트 )이 이루어 지고 있는 것이다. 

 페이스 북의 기술적인 측면에 대해 자세한 설명을 듣고 싶은 독자를 위해, 아래 동영상을 첨부 했다.

 페이스북의 엄청난 파급효과를 가지고 있다. 단순하고, 재미있고, 잠시 눈을 떼면 궁굼해지게 된다. 내 담벼락에는 내가 좋아하는 ( I like ) 것들로 가득 차 있기 때문이다.

 평소에 페이스북의 많은 개념들이 머릿속에 난무해 있었는데, 이 책을 보면서, 여러가지 개념들이 정리되는 느낌이었이 들었다. 평소 책을 읽으면, 주로 정독을 하는 편이다. 이 책의 경우에는 편안하게 속독으로 읽어내려갔다. 생각이상으로 단어와 문장이 쉽게 표현됐다.






: