cancel
Showing results for 
Search instead for 
Did you mean: 
abm
Most Valuable Professional

NASA API Integration using Microsoft Flow

In this blog, I will explain how to call an API (Application Programming Interface) using Microsoft Flow.

 

Here I am using NASA API Astronomy picture of the day (APOD). The plan is to retrieve the picture of the day using the API and store in a SharePoint document library.

 

References:

NASA API Website https://api.nasa.gov/

API Method:  https://api.nasa.gov/planetary/apod.

Below are the related query parameters for the APOD API Get method.

 
 
 

Above date and hd parameters are optional. To generate an API Key you need to register your name, email and follow the instructions from the website (https://api.nasa.gov/).

Now we can start building the Flow. Here I am using a scheduled trigger which triggers every day.

a2.png

 

Next, we need to use the HTTP flow step. Here copy the api_key which you received as part of the registration process. You can also extend the query parameters using date and hd which are optional.

a3.png

 

The response from the above step HTTP  request will be in JSON format.

a4.png

 

JSON schema is as follows:

{

    "type": "object",

    "properties": {

        "date": {

            "type": "string"

        },

        "explanation": {

            "type": "string"

        },

        "hdurl": {

            "type": "string"

        },

        "media_type": {

            "type": "string"

        },

        "service_version": {

            "type": "string"

        },

        "title": {

            "type": "string"

        },

        "url": {

            "type": "string"

        }

    }

}

 

Next, we need to get the image and store in SharePoint. To get the image content I am using another HTTP flow method and passing the image hdurl.  For the API call we are using the GET method.

a5.png

 

Next I am using a compose flow step to get the filename of the image using JSON response url property.

Above expression is as follows:

last(split(body('Parse_JSON_Results')?['url'],'/'))

 

Finally, we have all the necessary attributes to create the file in SharePoint.

a7.png

 

Here is the final preview of the flow.

a8.png

 

Thank you for reading!

Comments

I made a video on this same topic some time back. 
youtu.be/-GVu1EsKfvo

About the Author
  • Experienced Consultant with a demonstrated history of working in the information technology and services industry. Skilled in Office 365, Azure, SharePoint Online, PowerShell, Nintex, K2, SharePoint Designer workflow automation, PowerApps, Microsoft Flow, PowerShell, Active Directory, Operating Systems, Networking, and JavaScript. Strong consulting professional with a Bachelor of Engineering (B.E.) focused in Information Technology from Mumbai University.
  • I am a Microsoft Business Applications MVP and a Senior Manager at EY. I am a technology enthusiast and problem solver. I work/speak/blog/Vlog on Microsoft technology, including Office 365, Power Apps, Power Automate, SharePoint, and Teams Etc. I am helping global clients on Power Platform adoption and empowering them with Power Platform possibilities, capabilities, and easiness. I am a leader of the Houston Power Platform User Group and Power Automate community superuser. I love traveling , exploring new places, and meeting people from different cultures.
  • Read more about me and my achievements at: https://ganeshsanapblogs.wordpress.com/about MCT | SharePoint, Microsoft 365 and Power Platform Consultant | Contributor on SharePoint StackExchange, MSFT Techcommunity
  • Encodian Owner / Founder - Ex Microsoft Consulting Services - Architect / Developer - 20 years in SharePoint - PowerPlatform Fan
  • Founder of SKILLFUL SARDINE, a company focused on productivity and the Power Platform. You can find me on LinkedIn: https://linkedin.com/in/manueltgomes and twitter http://twitter.com/manueltgomes. I also write at https://www.manueltgomes.com, so if you want some Power Automate, SharePoint or Power Apps content I'm your guy 🙂
  • I am the Owner/Principal Architect at Don't Pa..Panic Consulting. I've been working in the information technology industry for over 30 years, and have played key roles in several enterprise SharePoint architectural design review, Intranet deployment, application development, and migration projects. I've been a Microsoft Most Valuable Professional (MVP) 15 consecutive years and am also a Microsoft Certified SharePoint Masters (MCSM) since 2013.
  • Big fan of Power Platform technologies and implemented many solutions.
  • Passionate #Programmer #SharePoint #SPFx #M365 #Power Platform| Microsoft MVP | SharePoint StackOverflow, Github, PnP contributor
  • Web site – https://kamdaryash.wordpress.com Youtube channel - https://www.youtube.com/channel/UCM149rFkLNgerSvgDVeYTZQ/