I'm working on a fairly basic Alexa skill that, in essence, searches through a specific Twitter feed looking for a hashtag, parses that tweet, and reads it back. What's the simplest way to pull data from a Twitter feed? I've been having issues working with the Twitter API (see below) and scraping data from Twitter appears to be against the TOS.
... crawling the Services is permissible if done in accordance with the provisions of the robots.txt file, however, scraping the Services without the prior consent of Twitter is expressly prohibited.
To write an Alexa skill
-
Simple enough. Use a pretty interface to add an invocation, some intents, and a slot type with the data I want.
Write an AWS Lambda function to handle everything.
Python because I know it better than JavaScript. Pick one of the Python wrappers for the Twitter API, then realize that because Twitter, all of their API requires authentication - even basic searches.
Register an app with Twitter so I have keys and tokens.
Realize having authentication keys and tokens in plaintext in an application is a bad idea, and decide to figure out account linking for Alexa.
Try following the one tutorial around, twice. Have trouble and go to StackExchange.
Why the need for an external webapp?
...we need an OAuth implementation of our own to make the integration work correctly
What's wrong with the one provided by Twitter? Why can't any issues be fixed within the Lambda method, since the account integration isn't being touched otherwise AFAIK? Isn't having the tokens passed around via the URL a bad idea too? Their example code seems to require that the Consumer Secret be hard coded too.
At the very least, their webapp seems to be down for the time being, and it'd be nice to have an option that doesn't require paying money to host another copy.
I've seen this post discussing a Node.js OAuth implementation, but the necessity for such an implementation still escapes me.