imhamburger 님의 블로그

인스타그램 API 에러... (Impressions를 더이상 제공하지 않는다..!) 본문

끄적끄적

인스타그램 API 에러... (Impressions를 더이상 제공하지 않는다..!)

imhamburger 2025. 4. 27. 22:07

에어플로우에서 정상적으로 작동하던 인스타그램 관련 DAG에서 갑작스럽게 에러가 발생했다.
이 DAG는 Meta에서 제공하는 인사이트 데이터를 주기적으로 수집하는 작업이었는데, 최근 Meta 측에서 Impressions 지표 제공을 중단하면서 기존에 사용하던 인스타그램 API가 오류를 발생시켰다.

 

 

따라서 Impressions 가져오는 코드를 제거하여 해결했다.

 

 

수정 전

def get_insight_info():
    metric = "impressions, reach"
    period = 'day'
    insta_user_insights_url = f'https://graph.facebook.com/v18.0/{IG_USER_ID}/insights?metric={metric}&period={period}'
    
    max_attempts = 3
    attempts = 0

    while attempts < max_attempts:
        response = requests.get(insta_user_insights_url, params=params).json()
        print(response)
        data = response['data']
        result_dict = {
            'profile_views': 0, # 임시
            'impressions': data[0]['values'][0]['value'],
            'reach': data[1]['values'][0]['value'],
            'website_clicks': 0 # 임시
        }

        if all(value is not None for value in result_dict.values()):
            break
    
    return result_dict

 

 

수정 후

def get_insight_info():
    metric = "reach"
    period = 'day'
    insta_user_insights_url = f'https://graph.facebook.com/v18.0/{IG_USER_ID}/insights?metric={metric}&period={period}'
    
    max_attempts = 3
    attempts = 0

    while attempts < max_attempts:
        response = requests.get(insta_user_insights_url, params=params).json()
        print(response)
        data = response['data']
        result_dict = {
            'profile_views': 0, # 임시
            'impressions': 0, #2025년 4월 25일 이후로 중단
            'reach': data[0]['values'][0]['value'],
            'website_clicks': 0 # 임시
        }

        if all(value is not None for value in result_dict.values()):
            break
    
    return result_dict

 

2025년 4월 25일 이후 impressions 부분을 '0'으로 대체하여 넣고있다.