Embed Instagram Post in Body using Shortcodes ============================================= This tutorial explains how to create an article with an embedded Instagram post in body content. .. include:: includes/requirements.rst Procedure --------- .. include:: includes/initialize-variables.rst 2. Obtain a shortcode using an Instagram post URL ************************************************* This code snippet uses the :doc:`/api/reference/scraper` to obtain a shortcode that can be embedded in body content. .. code:: python instagram_post_url = 'https://www.instagram.com/p/B5ImNfGpOx_/' response = requests.get( 'https://{}/api/1.3/scraper'.format(API_DOMAIN), params={ 'api_key': API_KEY, 'url': instagram_post_url, } ) response.raise_for_status() scraper_response = response.json() print(scraper_response['embed']['shortcode']) 3. Create a draft ***************** Once you have the shortcode, create a new draft using the :doc:`/api/reference/drafts` that has the shortcode as part of the content body. .. code:: python body_content = '''

This is a HTML piece that can contain shortcodes

{}

This text goes after the embedded Instagram post

'''.format(scraper_response['embed']['shortcode']) response = requests.post( 'https://{}/api/1.3/drafts'.format(API_DOMAIN), params={'api_key': API_KEY}, json={ 'headline': 'Embedded Instagram post in article content', 'body': body_content, } ) response.raise_for_status() draft_api_response = response.json() print(draft_api_response['id']) 4. Publish the draft ******************** Finally, publish the draft and print its URL. .. code:: python response = requests.put( 'https://{}/api/1.3/drafts/{}'.format(API_DOMAIN, draft_api_response['id']), params={'api_key': API_KEY}, json={'action': 'publish'} ) response.raise_for_status() draft_api_response = response.json() print(draft_api_response['post_url'])