Skip to main content

Standard v1.1과 X API v2 비교

v1.1 statuses/filter 엔드포인트를 사용해 왔다면, 이 가이드가 standard와 X API v2 filtered stream 엔드포인트 간의 공통점과 차이점을 이해하는 데 도움이 됩니다.
  • 공통점
    • 요청 파라미터 및 연산자
    • Post 편집 히스토리 및 메타데이터 지원
  • 차이점
    • 엔드포인트 URL
    • App 및 Project 요구사항
    • 인증 방식
    • 규칙 볼륨 및 지속적인 스트림
    • 응답 데이터 형식
    • 요청 파라미터
    • 복구 및 이중화 기능의 가용성
    • 쿼리 연산자

공통점

요청 파라미터 및 연산자 Standard v1.1 statuses/filter 엔드포인트에는 스트림을 필터링하기 위해 요청과 함께 전달할 수 있는 몇 가지 파라미터가 있습니다. v2 filtered stream에서는 boolean 로직으로 연결하여 원하는 게시물을 필터링할 수 있는 연산자 세트를 대신 사용합니다. 사용 가능한 연산자 중 일부는 기존 standard v1.1 파라미터의 직접적 대체입니다. 다음 standard v1.1 요청 파라미터는 X API v2에 동등한 연산자가 있습니다: Post 편집 히스토리 및 메타데이터 지원 두 버전 모두 편집 히스토리를 설명하는 메타데이터를 제공합니다. 자세한 내용은 filtered stream API 레퍼런스Post 편집 기본 페이지를 참고하세요.

차이점

엔드포인트 URL App 및 Project 요구사항 X API v2 엔드포인트는 요청 인증 시 Project에 연결된 developer App의 자격 증명을 사용해야 합니다. 모든 X API v1.1 엔드포인트는 App의 자격 증명이나 App에 연결된 App의 자격 증명을 사용할 수 있습니다. 인증 방식 Standard 엔드포인트는 OAuth 1.0a User Context를 지원하지만, X API v2 filtered stream 엔드포인트는 OAuth 2.0 App-Only(Application-only 인증이라고도 함)를 지원합니다. X API v2 버전으로 요청하려면 요청 인증에 App Access Token을 사용해야 합니다. Developer Console에서 App과 app을 생성했을 때 제공된 App Access Token이 더 이상 없다면, Developer Console의 앱 “Keys and tokens” 페이지로 이동해 새로 생성할 수 있습니다. 프로그래밍 방식으로 App Access Token을 생성하려면 이 OAuth 2.0 App-Only 가이드를 참고하세요. 규칙 볼륨 및 지속적인 스트림 Standard v1.1 엔드포인트는 스트리밍 연결 필터링에 단일 규칙을 지원합니다. 규칙을 변경하려면 스트림 연결을 끊고 수정된 필터링 규칙을 파라미터로 포함한 새 요청을 보내야 합니다. X API v2 filtered stream 엔드포인트는 단일 스트림에 여러 규칙을 적용할 수 있으며, 스트림 연결을 유지한 상태에서 규칙을 추가하거나 제거할 수 있습니다. 응답 데이터 형식 Standard v1.1과 X API v2 엔드포인트 버전의 가장 큰 차이점 중 하나는 페이로드에 반환되는 필드를 선택하는 방식입니다. Standard 엔드포인트에서는 많은 응답 필드가 기본으로 반환되며, 파라미터를 사용해 페이로드에 반환할 특정 필드 또는 필드 집합을 지정할 수 있습니다. X API v2 버전은 기본적으로 Post id와 text 필드만 전달합니다. 추가 필드나 객체를 요청하려면 fieldsexpansions 파라미터를 사용해야 합니다. 이 엔드포인트에서 요청한 게시물 필드는 기본 Post 객체에 반환됩니다. 확장된 user, media, poll 또는 place 객체와 필드는 응답 내 includes 객체에 반환됩니다. 그런 다음 Post 객체와 확장된 객체에 있는 ID를 매칭하여 확장된 객체를 Post 객체와 다시 연결할 수 있습니다. 이러한 새 파라미터에 대한 자세한 내용은 각 가이드나 fields와 expansions 사용법 가이드에서 확인하시길 권장합니다. 또한 standard v1.1 필드를 새로운 v2 필드에 매핑하는 데 도움이 되는 데이터 형식 마이그레이션 가이드를 준비했습니다. 이 가이드는 특정 필드를 반환하려면 v2 요청과 함께 어떤 expansion 및 field 파라미터를 전달해야 하는지도 안내합니다. 특정 필드를 요청하는 방식의 변화 외에도, X API v2는 Post 및 user 객체를 포함하여 API가 반환하는 객체에 새로운 JSON 설계를 도입했습니다.
  • JSON 루트 레벨에서, standard 엔드포인트는 statuses 배열에 Post 객체를 반환하지만 X API v2는 data 배열을 반환합니다.
  • Retweeted 및 Quoted “statuses” 대신, X API v2 JSON은 Retweeted 및 Quoted Tweets라고 표기합니다. contributors, user.translator_type 등 다수의 레거시 및 폐기 예정 필드가 제거되고 있습니다.
  • favorites(Post 객체)와 favourites(user 객체) 두 표현을 모두 사용하는 대신, X API v2는 like라는 용어를 사용합니다.
  • X는 값이 없는(예: null) JSON 값을 페이로드에 기록하지 않는 방식을 채택했습니다. Post 및 user 속성은 non-null 값이 있을 때만 포함됩니다.
또한 다음을 포함한 새로운 필드 세트를 Post 객체에 도입했습니다:
  • conversation_id 필드
  • context와 entities를 포함하는 두 개의 새로운 annotations 필드
  • 여러 개의 새로운 metrics 필드
  • 특정 게시물에 누가 답글을 달 수 있는지 보여주는 새 reply_setting 필드
요청 파라미터 X API v2에서 지원되지 않는 standard filtered stream 요청 파라미터 집합도 있습니다: 복구 및 이중화 기능의 가용성 X API v2 버전의 filtered stream은 스트리밍 가동 시간을 극대화하고 5분 이하의 연결 끊김으로 인해 놓쳤을 수 있는 게시물을 복구하는 데 도움이 되는 복구 및 이중화 기능을 도입합니다. 이중 연결(redundant connections)을 사용하면 특정 스트림에 최대 두 번 연결할 수 있어, 하나의 연결이 실패하더라도 스트림 연결을 항상 유지하는 데 도움이 됩니다. backfill_minutes 파라미터를 사용해 최대 5분 동안 놓친 데이터를 복구할 수 있습니다. 두 기능 모두 Academic Research access를 통해서만 사용할 수 있습니다. 이 기능에 대한 자세한 내용은 복구 및 이중화 기능 통합 가이드에서 확인하세요. 새로운 쿼리 연산자 X API v2는 두 가지 새로운 기능을 지원하기 위해 새로운 연산자를 도입합니다:
  • Conversation IDs - X에서 대화가 전개될 때 대화의 일부인 게시물을 표시할 수 있는 conversation ID가 제공됩니다. 대화 내 모든 게시물은 conversation_id가 대화를 시작한 게시물의 Post ID로 설정됩니다.
    • conversation_id:
  • **X Annotations**는 게시물에 대한 컨텍스트 정보를 제공하며 entity 및 context annotation을 포함합니다. Entity는 사람, 장소, 제품, 조직으로 구성됩니다. Context는 표면화된 entity가 속한 도메인 또는 주제입니다. 예를 들어 게시물에 언급된 사람들은 운동선수, 배우 또는 정치인 여부를 나타내는 context를 가질 수 있습니다.
    • context: - 관심 있는 context가 주석 처리된 게시물에 매칭.
    • entity: - 관심 있는 entity가 주석 처리된 게시물에 매칭.

코드 예시

filtered stream에 규칙 추가 (v2)

Standard v1.1과 v2 예시 전체 마이그레이션 예시는 공식 X API 문서를 참조하세요.