본문 바로가기
Python

[python] 파이썬 인스타그램 API 키 발급 및 이미지 포스팅

by 퍼포먼스마케팅코더 2022. 6. 21.
반응형

오늘은 페이스북에 이어서 파이썬으로 인스타그램 API를 통해 포스팅하는 방법을 알아보자. 인스타그램 API 는 다소 이미지 URL 주소를 사용해야되는 제약조건이 따르고 있다. 이는 이전에 말한 파이썬으로 페이스북 API와 마찬가지이다. 다만 페이스북 API 키 발급받는 방법이 이어져 있기 때문에 하기에 하기에 먼저 페이스북 API 키 발급 받는 방법을 알고, 그 다음에 인스타그램 API 키 발급받는 방법과 파이썬 코딩을 통한 자동 포스팅을 진행하는게 무엇보다 빠를 것이다.

 

https://dataanalytics.tistory.com/183

 

[Python] 파이썬 페이스북 API 키 발급 및 자동 포스팅 해보기

오늘은 페이스북 API를 통해 포스팅하는 방법에 대해 알아보자. 페이스북 API 는 파이썬으로 사용하기 굉장히 편하게 되어있으나, 다소 이미지 URL 주소를 사용해야되는 제약조건이 따르고 있다.

dataanalytics.tistory.com

 

파이썬 인스타그램 API 키 발급

파이썬으로 인스타그램 API 키를 발급받기 위해서는 먼저 아래와 같은 리스트를 추가로 권한을 받아야 된다. 

또한 추가적으로 해당 페이스북 페이지와 인스타그램 계정이 연동되어 있어야된다. 이는 현재 나와있는 정보가 굉장히 많으니 참고해서 먼저 페이스북 페이지 등을 비즈니스 계정으로 전환된 이후, 인스타그램 계정까지 최종 연동된 이후에 진행되는게 바람직할 것이라 생각한다. 먼저 아래 리스트에 추가로 사용 권한을 받도록 하자.

 

pages_show_list
instagram_basic
instagram_manage_comments
instagram_manage_insights
instagram_content_publish
pages_read_engagement
pages_manage_posts
public_profile

 

 

해당 권한을 받았다면 이제 Generate Access Token을 클릭하여 액세스 토큰을 받자.

파이썬 인스타그램 API 키 발급 자동 포스팅

 

해당 추가로 나올시 인스타그램 비즈니스 계정을 선택하라는 창이 뜰 것이다. 해당 연동된 인스타그램 비즈니스 계정을 선택하고 다음을 누르자.

 

파이썬 인스타그램 API 키 발급 자동 포스팅

 

 

다음엔 해당 인스타그램 관련 권한 등을 허용하겠냐는 문구이다.  관련해서 확인하고 완료버튼을 누른다.

 

파이썬 인스타그램 API 키 발급 자동 포스팅

 

이제 최종적으로 Generate Access Token을 다시 눌러서 최종 파이썬 코딩을 위한 액세스 토큰을 발급받자.

 

파이썬 인스타그램 API 키 발급 자동 포스팅

 

파이썬 인스타그램 API 비즈니스 계정 받기

먼저 파이썬으로 인스타그램 포스팅을 하기 위해서는 인스타그램 비즈니스 계정 ID를 발급받아야된다.

페이스북ID와 액세스 토큰을 입력해서 인스타그램 비즈니스 계정 ID를 먼저 발급받자.

import requests
import config
import json

page_id_1 = '' #페이스북ID 입력

access_token = '' #액세스 토큰 입력
post_url = 'https://graph.facebook.com/v13.0/' + str(page_id_1) + '?fields=instagram_business_account&access_token=' + str(access_token)

r = requests.get(post_url)

#print(r.text)

insta_biz_acc = r.json() 

ig_user_id = insta_biz_acc['instagram_business_account']['id']

print(ig_user_id)  # 인스타그램 비즈니스 계정 ID

 

파이썬 인스타그램 API 자동 포스팅

이후에 발급받은 인스타그램 비즈니스 계정 ID를 통해 하기 코딩을 돌리면은 파이썬 자동 포스팅이 완료된다. 먼저 이미지 주소 URL과 caption 내에 해시태그 및 본문 입력 등이 필요하다. 해당 부문만 정리하고 파이썬 코딩을 돌리면은 완료된다.

특히나 인스타그램도 마찬가지로, access token 발급받은 이후에 1시간 간격으로만 된다.

(이는 네이버 카페도 마찬가지이다.)  꼭 주의해서 사용하도록 하자.

 

# post 캡션 ID

image_location_1  = '' #이미지 URL 주소 입력

post_url = 'https://graph.facebook.com/v13.0/{}/media'.format(ig_user_id)

payload = {
    'image_url': image_location_1,
    'caption': '' #해시태그 및 기타 입력 ,
    'access_token': access_token
    }
r = requests.post(post_url, data=payload)
print(r.text)  #캡션 ID 

result = json.loads(r.text)
if 'id' in result:
    creation_id = result['id']

second_url = 'https://graph.facebook.com/v13.0/{}/media_publish'.format(ig_user_id)
second_payload = {
'creation_id': creation_id,
'access_token': access_token

}
try :
    r = requests.post(second_url, data=second_payload)
    print('--------Just posted to instagram--------')
    print(r.text)
except:
    print('HOUSTON we have a problem')
반응형

댓글