Obsidian을 사용하여 기사를 작성하는 사람으로서 저는 Medium에 게시할 때 내 콘텐츠를 수동으로 복사하고 형식을 지정해야 하는 경우가 종종 있습니다. 이 프로세스는 특히 Markdown 파일을 처리할 때 시간이 많이 걸리고 반복적일 수 있습니다. 작업 흐름을 간소화하기 위해 Markdown 파일을 Medium에 직접 게시하는 것을 자동화하는 Python 스크립트를 개발하기로 결정했습니다. 이 기사에서는 Medium API를 사용하여 프로그래밍 방식으로 기사를 게시하는 방법을 공유하여 프로세스를 더 빠르고 효율적으로 만드는 방법을 알려드리게 되어 기쁩니다.
Medium의 API와 상호작용하려면 먼저 통합 토큰을 생성해야 합니다. 이 토큰을 사용하면 Python 스크립트가 사용자를 대신하여 인증하고 작업을 수행할 수 있습니다.
통합 토큰 생성 단계:
토큰을 손에 넣으면 코딩을 시작할 준비가 된 것입니다.
Medium API와 상호작용하는 데 사용할 Python 코드는 다음과 같습니다.
import requests # Replace these with your actual Medium integration token and file path MEDIUM_TOKEN = 'your_medium_integration_token' headers = { 'Authorization': f'Bearer {MEDIUM_TOKEN}', 'Content-Type': 'application/json', 'Accept': 'application/json', 'host': 'api.medium.com', 'Accept-Charset': 'utf-8' } url = '''https://api.medium.com/v1/me''' response = requests.get(url=url, headers=headers) print('status_code is: ',response.status_code) print('response text:', response.json()) print('userId:', response.json()['data']['id'])
사용자 정보 가져오는 중
스크립트를 실행하면 Medium의 API에 요청을 보내 사용자 정보를 가져옵니다. 응답에는 콘텐츠를 게시하는 데 필요한 사용자 ID와 같은 세부정보가 포함됩니다.
이제 Medium API에서 사용자 ID를 성공적으로 검색했으므로 기사 게시로 이동할 수 있습니다. 이 프로세스에는 기사 콘텐츠 및 일부 메타데이터와 함께 Medium의 API에 POST 요청을 보내는 작업이 포함됩니다.
import requests import json # Replace with your actual Medium integration token and user ID MEDIUM_TOKEN = 'your_medium_integration_token' USER_ID = 'your_user_id' headers = { 'Authorization': f'Bearer {MEDIUM_TOKEN}', 'Content-Type': 'application/json', 'Accept': 'application/json', 'host': 'api.medium.com', 'Accept-Charset': 'utf-8' } url = f'https://api.medium.com/v1/users/{USER_ID}/posts' # Article content and metadata data = { "title": "Your Article Title", "contentFormat": "markdown", # Choose 'html', 'markdown', or 'plain' "content": "# Hello World!\nThis is my first article using the Medium API.", "tags": ["python", "api", "medium"], "publishStatus": "draft" # Choose 'public' or 'draft' } # Sending the POST request response = requests.post(url=url, headers=headers, data=json.dumps(data)) print('Status code:', response.status_code) print('Response:', response.json())
이제 Medium으로 이동하여 최신 초안을 확인할 수 있습니다. 모든 형식이 올바른지 확인한 후 바로 게시할 수 있습니다!
시간을 내어 데이터 관련 인사이트를 탐색해 주셔서 감사합니다. 참여해 주셔서 감사합니다.
? LinkedIn에서 저와 연결하세요
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3