Twitter API v2에서 Batch 규정 준수 엔드포인트 작업에 대한 가이드

10916 단어 twitterapitutorial
이를 통해 Twitter 개발자는 트윗 또는 사용자 ID의 대규모 데이터 세트를 업로드하여 규정 준수 상태를 확인하고 데이터 세트를 준수 상태로 유지하기 위해 조치가 필요한 데이터를 결정할 수 있습니다. 이 가이드에서는 Tweepy library을 사용하여 Python에서 이러한 배치 규정 준수 엔드포인트를 사용하는 방법을 보여줍니다.

일반적으로 이 엔드포인트 작업에는 4단계가 포함됩니다.

1단계: 규정 준수 작업 만들기



먼저 규정 준수 작업을 생성해야 합니다.
  • 트윗 ID 목록을 업로드할 경우 job_name을 트윗으로 설정할 수 있습니다.
  • 사용자 ID 목록을 업로드할 경우 job_name을 사용자로 설정할 수 있습니다.

  • 참고: 언제든지 job_type당 하나의 동시 작업을 가질 수 있습니다.

    import tweepy
    
    client = tweepy.Client('BEARER_TOKEN')
    
    # Replace the job_name with appropriate name for your compliance job
    response = client.create_compliance_job(name='job_name', type='tweets')
    
    upload_url = response.data['upload_url']
    
    download_url = response.data['download_url']
    
    job_id = response.data['id']
    
    print(upload_url)
    


    작업이 성공적으로 생성되면 생성된 작업에 대한 응답에서 다음 필드에 유의하십시오.
  • upload_url 이것은 트윗 또는 사용자 ID가 포함된 파일을
  • 에 업로드할 링크입니다.
  • download_url
  • 에서 규정 준수 결과를 다운로드할 링크입니다.
  • id - 작업
  • 의 상태를 확인하는 데 사용할 규정 준수 작업의 고유 ID입니다.

    2단계: 데이터세트 업로드



    다음으로 데이터 세트를 일반 텍스트 파일로 제공된 파일upload_url(이전 단계에서)에 업로드합니다. 파일의 각 줄에는 단일 트윗 ID 또는 사용자 ID가 포함됩니다. 아래 코드에서 file_path를 트윗 또는 사용자 ID가 포함된 파일의 적절한 경로로 바꿉니다.

    참고: upload_url는 15분 후에 만료됩니다.

    import requests
    
    # Replace with your job upload_url
    upload_url = ''
    
    # Replace with your file path that contains the list of Tweet IDs or User IDs, one ID per line
    file_path = ''
    
    headers = {'Content-Type': "text/plain"}
    
    
    def connect_to_endpoint(url):
        response = requests.put(url, data=open(file_path, 'rb'), headers=headers)
        print(response.status_code)
        if response.status_code != 200:
            raise Exception(response.status_code, response.text)
        return response.text
    
    
    def main():
        response = connect_to_endpoint(upload_url)
        print(response)
    
    
    if __name__ == "__main__":
        main()
    


    3단계: 규정 준수 작업 상태 확인



    데이터 세트를 업로드하면 다음과 같은 작업 상태를 확인할 수 있습니다.
  • created
  • in_progress
  • failed
  • complete

  • 지정된 유형에 대한 모든 규정 준수 작업 가져오기



    특정 유형의 모든 작업을 가져오려면 다음 코드를 실행합니다.

    import tweepy
    
    client = tweepy.Client('BEARER_TOKEN')
    
    # If your dataset has User IDs instead, replace the type with users instead of tweets
    jobs = client.get_compliance_jobs(type='tweets')
    
    for job in jobs.data:
        print(job)
        print(job['status'])
    


    작업 ID로 특정 규정 준수 작업 가져오기



    작업 ID별로 특정 작업의 상태를 확인하려면 다음 코드를 실행합니다. job_id를 1단계의 job_id로 바꿉니다.

    import tweepy
    
    client = tweepy.Client('BEARER_TOKEN')
    
    # Replace the job_id below with your own job ID
    job = client.get_compliance_job(id=job_id)
    
    print(job.data['status'])
    


    4단계: 결과 다운로드



    작업 상태가 완료로 설정되면 다음 코드를 실행하여 결과를 다운로드할 수 있습니다. download_url를 1단계에서 얻은 download_url로 바꿉니다.

    import requests
    
    # Replace with your job download_url
    download_url = ''
    
    
    def connect_to_endpoint(url):
        response = requests.request("GET", url)
        print(response.status_code)
        if response.status_code != 200:
            raise Exception(response.status_code, response.text)
        return response.text
    
    
    def main():
        response = connect_to_endpoint(download_url)
        entries = response.splitlines()
        for entry in entries:
            print(entry)
    
    
    if __name__ == "__main__":
        main()
    


    참고: download_url은 1주일 후에 만료됩니다(작업이 생성된 시점부터).

    이 결과에는 일련의 JSON 객체(한 줄에 하나의 객체)가 포함됩니다. 각 개체에는 트윗 ID, 트윗 생성 날짜(날짜별로 정리된 트윗을 찾는 데 유용함), 필요한 조치, 규정 준수 조치의 이유 및 날짜가 포함됩니다.

    이 가이드가 . 질문이 있으시면 언제든지 Twitter에서 저에게 연락해 주세요.

    좋은 웹페이지 즐겨찾기