Robot Not a Dev? Buy Now
Not a Dev?

Misty Community Forum

Mission: Connect Misty to your Favorite External API

Briefing

Mission Objective: Connect Misty to your favorite external API and have her do something cool.
Mission Type: Challenge
Est. Time to Complete: 3- 6 hours
Proof of Completion: Share your code in the Misty Skills category
Rewards: Complete the challenge anytime to a community badge. Submit your video & survey response before the end of the round to be entered in a chance to win great prizes. We’ll announce the winner the week after each round ends!
Round 2 Launch Date: 11/1/2019
Round 2 Completes: 11/15/19

Situation

Completed the 3rd Party API training mission? Now connect Misty to a cool external API and have her do something cool!

You could have her take a photo and do something cool with that photo though and API. Maybe download audio and have her play it, maybe display something unique on her face, have her interact with an IOT device. There’s a TON of cool APIs out there and we can’t wait to see what APIs are your favorite.

Mission

Connect Misty to your favorite external API, have her do something cool, and share it with the community.

Rules

To complete this mission, you must share a video of Misty running your skill and share your code on GitHub

Everyone who submits an entry will earn a community badge.

Resources

Here are some cool places to look for APIs:

https://rapidapi.com
https://www.programmableweb.com
https://any-api.com

Mission Support

Hit a roadblock? Find a bug? Have feedback? Let us know! As Misty’s earliest developers, you are the real superstars on the journey to making personal robots a reality. Your creativity makes all this possible, and we’re eager to hear your feedback. Reply to this post to start a conversation with a member of the Misty team.

5 Likes

A post was split to a new topic: Misty Skill: External Air Quality Check

Just four days left to get in submissions for round 1!

If you’re still searching for inspiration, this post on robot skills & messaging APIs from earlier this year might get your creative juices flowing :slight_smile:

Thanks to all who joined this challenge! Round 1 goes to @MorningR for extending the WeatherStack API to have Misty read off the local weather.

In the spirit of web communications, the prize for round 1 is a SmartThings starter kit. We’ll send you a hub and a few smart bulbs, so you can use Misty with a service like IFTTT to write skills that control your home lighting. We’ll contact you in a private channel to confirm your address & shipping details :slight_smile:


For the rest of the community, this mission is now open for Round 2. Share your video and skill code before 11/15/2019 for a chance at the Round 2 prize! :gift: :robot:

1 Like

A few days left to submit an entry for Round 2! For anyone who’s just received a Misty, this challenge is a great way to get a chance at winning some prizes while learning how to use third-party services in your JavaScript skills.

1 Like

This is a little late, but I have completed the training mission.

I have one problem I have yet to figure out. Rapidapi.com, as well as others, requires sending a header containing host and key parameters. I have not had any luck accomplishing this. I have placed various coding in SendExternalRequest parameters. Do any of you Misty guru’s have any suggestions?

just to be certain that I understand it, the question is: how can we send arbitrary HTTP request headers via SendExternalRequest? e.g., RapidAPI requires a custom header, X-RapidAPI-Key.

@2Alpha did not ask this, but it would also be useful to be able to read response headers, too. e.g., many APIs have rate limits and indicate the status of request rates in the response headers, like X-RateLimit-Remaining in the GitHub API v3.

@2Alpha and @slivingston

The current implementation of SendExternalRequest in Misty’s JavaScript API does not support sending requests with custom header parameters like what RapidAPI requires. I am not aware of workarounds for this in JavaScript skills, though I’ll ask the team and share any relevant discoveries here. It may not be until early next week, as most of the team is out for the weekend.

One benefit of the newly released .NET SDK is the ability to write your own HTTP client code using .NET / C# libraries. Misty’s own .NET SDK libraries do include the SendExternalRequest method, but the command has the same limitations as its JavaScript / REST implementations, and writing your own client code in a C# skill offers more flexibility in the way of setting request headers and reading response headers.

However, speaking as someone with more JavaScript than C# experience, I think support for sending requests with arbitrary headers in JavaScript skills is a worthy addition to the wishlist category. Our Product team checks this regularly to update Misty’s roadmap and make sure we are working on features that will have the highest impact for the community of Misty developers.