Intro to Programming and Data Science (Spring 2020)/Twitter authentication setup



Things you will need before you start:

Get a Twitter Account and Link It to a Mobile Phone
A Twitter account. To collect tweets from Twitter, you need a Twitter account. If your Twitter profile doesn't have your current mobile number associated with it, you will need to add your mobile number in order to create your new app as part of the process.

Apply to be a Twitter Developer
To collect tweets, you need to be approved by Twitter to be a developer. Follow each of these steps:

1. Go to the Twitter development homepage: https://developer.twitter.com/

2. If you're not already signed in to Twitter, click on Sign In in the top right corner of the page. You can sign in with your normal Twitter account. (It may take you to your Twitter home page when you sign in. If so, return to https://developer.twitter.com/ once you're logged on.)

3. Click on the "Apply" link (https://developer.twitter.com/en/apply-for-access). The link should be located in the top right of the page beside "Apps" and your Twitter icon.

4 Click "Apply for a Developer Account" in the middle of the page.

5 The next page asks "What is your primary reason for using Twitter developer tools?" and gives you a lot of options. Click Student, which is in the third column.

6 On the next page, under "what would you like us to call you", put "Purdue_student" (or use your name if you'd like).

What you are signing up for is an Individual Developer Account (as opposed to Team Developer Account).

7 Next, Twitter will ask you about your plans. Please follow these instructions carefully to make sure Twitter approves your application.

In the field "In your words" put something like the following:

I am taking an Introduction to Programming and Data Science course at Purdue university. My instructor is Jeremy Foote (jdfoote@purdue.edu). You can find details about the course at https://wiki.communitydata.science/Intro_to_Programming_and_Data_Science_(Spring_2020).

Under "The Specifics" check yes for "Are you planning to analyze Twitter data" and enter the following text:

We are learning to download Twitter data and do basic analysis. For instance, we will try to determine whether an earthquake has happened recently.

Uncheck the sliders for "Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?" and all other options.



8 Click "next" in the lower right then click "Looks good" on the review page. Finally, accept the terms of service and click "Submit Application" on the next page.

9 Twitter will send an email to the account you used. Click "Confirm your email" in that email to finish setup.

If you have any trouble with the steps before this, email me ASAP so we can be ready to go on Tuesday.

Confirm your developer email address
10 When you confirm in the email, you will arrive at https://developer.twitter.com/en/account/get-started. On that page, click "Create an app". This will take you to https://developer.twitter.com/en/apps

11 Click "Create an app", which takes you to https://developer.twitter.com/en/apps/create. You'll need to fill in a few details about your app.

App name: "COM 674 Sample "

Application Description: "Sample application for COM 674."

Website: "https://www.example.com"

Callback URLs: "https://www.example.com"

Leave "Enable Sign in with Twitter" unchecked.

The next few fields are not needed, but scroll to the bottom to find "Tell us how this app will be used".

Tell us how this app will be used: "Learning data science with python in COM 674 at Purdue University. This app is for testing purposes only."

Finally, click create, and click create again in the modal window.


 * Almost there!!*

Generate and copy your individual, private, unique Twitter developer credentials
12 In the next step, you will access Twitter credentials, which will let you authenticate with Twitter in python.

You need unique, private credentials to collect tweets. You will be pasting these credentials into your Python code. Be sure if you share your Python code, you ***do not** share your unique developer credentials.

Click the "Keys and Tokens" tab. You will see a box called "Consumer API keys" with two long strings labeled "API key" and "API secret key". You should copy and paste those into a text file on your desktop.

Finally, click "Generate" which will open a modal with two new strings called "Access Token" and "Access Token Secret". Copy these two keys to the same file and close the modal.

You will need all four of these strings in order to have your Twitter application work.

Keep this material secret. Your access token and access token secret will allow anybody who has it to post to Twitter as you and to control your account. It is equivalent to your Twitter username and password so please be as careful with it as you would be with your Twitter password!

Other documentation
Explore how Tweets are structured *Twitter Data Dictionary Tweet Objects

In this workshop, we'll be working with TWO different Twitter APIs, "Standard Search" and "Realtime."

More about the using the Twitter Search API :
 * Official Twitter info on the Search API

For this workshop, we'll be working with the "Standard Search", the most limited of Twitter Search API options
 * Twitter "Standard Search"

This page has some helpful intel about modifying Standard Search parameters (including sample request and response):
 * Getting search tweets.

Using the Twitter Realtime API :
 * Official Documentation Overview of the Realtime API

More about the developer credentials you just generated:
 * Official documentation on how to get Tokens from developer.twitter.com