반응형
imgur.com 에 이미지를 프로그램으로 올리려고 하는데 방법을 몰라서 한참 헤매다가 정리해놓습니다
imgur api 를 참고했습니다
imgur 라이브러리도 참고했습니다
Imgur 사이트에서 할일
- imgur.com 에 회원가입
- imgur.com 에 application 등록
- 이름은 임의대로
- callback URL 은 반드시 :
https://www.getpostman.com/oauth2/callback
- application 등록시 나오는 client_id, client_secret 메모
postman 에서 할일
- postman 설치
- postman 에서 http 한개 생성
- Authorization 탭에 OAuth2.0 선택
- Configure New Token
- Token Name : 임의대로 작성
- CallBack URL :
https://www.getpostman.com/oauth2/callback
imgur.com 에서 등록한 callback 과 동일
- Auth URL :
https://api.imgur.com/oauth2/authorize
- Access Token URL :
https://api.imgur.com/oauth2/token
- Client ID : imgur 에서 app 등록시 발행된 Client ID
- Client Secret : imgur 에서 app 등록시 발행된 Client Secret
- Get New Access Token 버튼 클릭
그럼 포스트맨에서 Access Token 과 Refresh Token 을 받아서 화면에 뿌려줍니다
imgur 라이브러리 활용한 소스코드
access token 은 환경변수로 뺐습니다.
아래 코드는 puppeteer 로 이미지 만들어서 imgur 에 이미지를 올리려고 했던 겁니다
// imgurUpload.js
const fs = require('fs');
const { ImgurClient } = require('imgur');
export const uploadChartImage = async (page, imageName) => {
const client = new ImgurClient({
accessToken: process.env.IMGUR_ACCESS_TOKEN,
});
const readStream = fs.createReadStream(imageName);
const response = await client.upload({
image: readStream,
type: 'stream',
album: process.env.IMGUR_ALBUM_ID,
});
console.log(response.data);
return response.data.link;
};
Imgur 앨범 id 확인 방법
- imgur 사이트에 로그인
- images 메뉴 선택
- 앨범 선택 하면 Edit this album 옵션 창이 보입니다
- Embed Album 선택
- 그러면 스크립트가 나옵니다. 거기에서 data-id 의 값 중에
a/
를 제외하면 앨범ID 입니다
Uploaded by N2T
반응형
'IT > Nodejs' 카테고리의 다른 글
사용자 친화적인 HTTP 설계 방법 (0) | 2022.09.22 |
---|---|
Node.js 기본 정보 링크 (0) | 2022.09.20 |
node 환경변수 관리하는 방법 (0) | 2022.08.29 |
여러 버전의 node 설치관리(nvm) (0) | 2022.08.29 |
APP 리뷰 수집 서비스 (0) | 2022.08.23 |
RESTful API 에 JWT 를 활용하여 보안강화 하기 (0) | 2020.02.17 |
Nodejs LTS 버전 변경이 왜 이리 빠른거야 (0) | 2019.12.02 |
window용 nvm 에서 npm version update 하기 (0) | 2019.11.28 |