Velog 총 조회수 확인하기

Bobby·2023년 2월 1일
3

즐거운 개발일지

목록 보기
17/22
post-thumbnail

작성한 글 통계를 보다가 하나씩 보기 귀찮아서 한번 시도해 봤다.

🌍 전체 리스트 조회

기본 baseUrl은 https://v2cdn.velog.io/graphql 이다.
메소드는 POST !

리스트를 조회하기 위해서는 인증 키가 필요한데, velog는 jwt를 사용하는 것 같다.
쿠키 값으로 access_token 과 refresh_token 을 보내주어야 한다.
로그인을 하고 자신의 메인 페이지에서 개발자 도구를 확인해보면 access_token, refresh_token를 확인 할 수 있다. (노출되지 않도록 주의~)

포스트맨을 사용하여 조회

  • 포스트맨을 해당 도메인 v2cdn.velog.io 에 맞는 쿠키를 자동으로 세팅 해주는 것 같다.

바디 데이터는 json 형태로 다음과 같이 보낸다.
간단하게 postId 와 제목 만 가져와보자.

파라미터
usernamevelog 아이디
limit가져올 포스트 갯수(max: 100)
cursor다음 페이지 조회할 경우 리스트의 마지막 postId를 적어주면 된다.
{
    "operationName":"Posts",
    "variables":{
        "username": "haerong22",
        "limit": 10,
        "cursor": ""
    },
    "query":"query Posts($cursor: ID, $username: String, $temp_only: Boolean, $tag: String, $limit: Int) { posts(cursor: $cursor, username: $username, temp_only: $temp_only, tag: $tag, limit: $limit) {id title}}"
}

결과는 다음과 같다.

여기서 필요한 것은 postId 이다.


🌍 포스트 조회수 가져오기

포스트별 전체 조회수와 오늘의 조회수를 가져와 본다.

마찬가지로 쿠키에 토큰을 전송한다.

파라미터
post_id리스트에서 조회한 postId
{        
    "operationName":"GetStats",
    "variables":{                       
    	"post_id": "29e6ebba-eebd-42c2-89d3-a58dc2a5cd5a"
    },
 	"query":"query GetStats($post_id: ID!) {getStats(post_id: $post_id) {total count_by_day {count day}}}"
}

결과는 다음과 같다.

total은 전체 조회수 이고 count는 각 일자별 조회수 이다.


🌍 전체 조회수 가져오기

자바로 작성해 봤다.

jar 파일 -> 다운로드
비밀번호 1234

실행

  • 자바 11 설치 후 터미널에서 실행
파라미터
usernamevelog 아이디
accessTokenaccess_token 값
refreshTokenrefresh_token 값

java -jar totalcnt-1.0.jar -u {username} -t {accessToken} -t {refreshToken}

  • Velog 로그인 -> F12 -> 애플리케이션 -> 쿠키

profile
물흐르듯 개발하다 대박나기

2개의 댓글

comment-user-thumbnail
2024년 2월 13일

totalcnt-1.0.jar 파일 및 Java 설치 후, 해당 경로에서 터미널 열고 알려주신 코드 입력하였는데, "username, accessToken, refreshToken is required."라는 메세지가 출력되었습니다. 혹시 이유를 아실까요...ㅠㅠ

1개의 답글