Skip to main content

소개

이 튜토리얼은 프로그래밍 언어 R과 X API v2를 시작하는 데 필요한 내용을 안내합니다. R을 사용하여 user lookup 엔드포인트에 연결하여 X API가 반환하는 JSON으로 작업하는 방법을 보여드립니다. user lookup은 GET 메서드이며, 사용자 ID 또는 사용자 이름으로 지정된 사용자 또는 사용자 그룹에 대한 정보를 반환합니다. 익숙하지 않다면, R은 시계열 분석, 모델링, 시각화 및 기타 데이터 분석과 같은 일반적인 데이터 사이언스 작업에서 가장 인기 있는 언어 중 하나이며, X API와 함께 자주 사용됩니다. user lookup 엔드포인트를 사용하면 user 객체를 사용해 사람의 팔로워 수와 프로필의 감성 점수 간의 상관관계를 파악할 수 있습니다. user 객체는 프로필에 공개적으로 표시된 위치를 기반으로 계정 그룹을 매핑하는 데에도 사용할 수 있습니다.

X API 시작하기

X API v2를 사용하려면 먼저 개발자 계정에 가입해야 합니다. 승인된 개발자 계정이 있으면 먼저 Project를 만들어야 합니다. Project를 사용하면 X API를 어떻게 사용할 의도인지에 따라 작업을 조직화하여, API 액세스를 효과적으로 관리하고 사용량을 모니터링할 수 있습니다. 각 Project에는 X API를 사용하는 데 필요한 자격 증명을 생성할 수 있는 App이 있습니다. X API를 시작하는 방법에 대한 자세한 내용은 문서의 시작하기 섹션에서 확인할 수 있습니다.

R 환경 설정하기

먼저 R을 다운로드해야 하며, cran 웹사이트에서 할 수 있습니다. 이후 R로 작업할 환경을 설정하려면 R studio, Visual Studio Code용 R 확장팩, 또는 Python 세계에서 왔다면 Jupyter notebook을 사용할 수 있습니다.

환경 변수 설정하기

오늘 보여드릴 코드 예제에서는 bearer 토큰에 대한 환경 변수를 만들어야 합니다. Bearer Token은 X API에 인증하고 요청을 시작할 수 있게 해주는 것입니다. 먼저 “your-bearer-token”을 자신의 bearer 토큰으로 바꾸세요. 이 토큰은 Developer Console의 App에서 keys and tokens 섹션에서 얻을 수 있습니다. 스크립트를 작성하기 전에 콘솔에서 이 코드 한 줄을 실행해야 합니다.

요청하기

X API에 HTTP 요청을 하기 위해 httr 패키지를 사용할 수 있습니다. 아직 설치하지 않았다면 콘솔에서 패키지를 설치하세요. JSON 객체로 작업하려면 jsonlite를, 데이터 조작을 위해 dplyr도 설치해야 합니다.
이제 API에 연결하는 R 스크립트 작성을 시작할 수 있습니다. 파일 상단에서 httr, jsonlite, dplyr 패키지를 호출합니다.
코드 샘플의 첫 번째 단계는 X API에 인증하도록 설정하는 것입니다. App에서 가져온 Bearer Token을 가져와서 인증을 위해 헤더에 전달하세요. 아래 예시에서 $BEARER_TOKEN을 자신의 토큰으로 바꾸세요.
인증 설정을 마쳤다면 요청의 파라미터를 정의하세요. 기본적으로 반환되는 각 사용자의 id, name, username을 받게 됩니다. 필드expansions를 추가하여 이 페이로드를 조정할 수 있습니다. 이 예시에서는 user.fields=description을 사용해 사용자의 프로필 bio를 요청하고, 사용자의 고정된 Post를 포함하는 expansion을 사용합니다.
이제 자세한 정보를 알고 싶은 X 핸들(계정으로도 알려짐)로 URL을 포맷할 준비가 되었습니다. readline 메서드를 사용하여 이 샘플을 재사용 가능하게 만드세요. 살펴보고 싶은 핸들을 입력한 후, $USERNAME을 원하는 X 핸들로 바꾸어 URL을 정의한 핸들이 포함되도록 포맷합니다.
이 시점에서 httr 패키지를 사용하여 방금 만든 URL에 GET 요청을 하고, 헤더를 통해 인증 자격 증명을 전달하며, 정의한 파라미터를 전달하세요. 응답을 obj 변수에 텍스트 객체로 저장하고 이를 출력하여 요청 결과를 확인할 수 있습니다.

JSON 페이로드로 작업하기

JSON으로 작업하는 제가 가장 좋아하는 방법 중 하나는 복잡하게 중첩된 데이터에 쉽게 접근할 수 있는 데이터 프레임을 사용하는 것입니다. 이를 위해 jsonlite 패키지의 fromJSON 메서드를 사용하여 파일을 평탄화(flatten)해 필드가 동일한 객체에 오도록 합니다. 그런 다음 해당 객체를 데이터 프레임으로 전달합니다. 이제 이 데이터 프레임을 볼 준비가 되었습니다.
데이터 프레임에서 데이터의 필드에 접근하여 핸들, 사용자 이름, bio가 포함된 문자열로 전달할 수 있습니다.
가져오는 각 필드 사이에 줄바꿈이 있는 상태로 객체를 보려면 print 대신 cat을 사용하세요.
여러 핸들에 대해 요청한 경우, 각 데이터 프레임 요소에 쉽게 접근하기 위해 반복문을 사용할 수 있습니다.

결론

이 튜토리얼이 R과 X API로 작업을 시작하는 출발점이 되기를 바랍니다. 다음 단계로는 v2 샘플 코드에서 recent search, Post lookup, user lookup에 대한 R 샘플을 살펴보시는 것이 좋습니다. 도중에 문제가 발생하면 포럼에 알려주시거나, 이 튜토리얼이 무언가를 만들도록 영감을 주었다면 @XDevelopers에 Post해 주세요.