Skip to content

Instantly share code, notes, and snippets.

@khaledadrani
Last active January 30, 2022 17:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save khaledadrani/8d24ff07bcc5556eb3b1a32cb95a9d80 to your computer and use it in GitHub Desktop.
Save khaledadrani/8d24ff07bcc5556eb3b1a32cb95a9d80 to your computer and use it in GitHub Desktop.
import os
from dotenv import load_dotenv
import requests
#load your credentials through the .env file
load_dotenv()
def create_headers():
api_key = os.getenv('api_key')
api_key_secret = os.getenv('api_key_secret')
bearer_token = os.getenv('bearer_token')
access_token = os.getenv('acess_token')
access_token_secret = os.getenv('acess_token_secret')
headers = {
"access_token":access_token,
"access_token_secret":access_token_secret,
"Authorization":'Bearer '+bearer_token,
"api_key_secret":api_key_secret,
"api_key":api_key
}
return headers
def create_url(keyword, max_results = 10):
search_url = "https://api.twitter.com/2/tweets/search/recent?"
query_params = {'query': keyword,
'max_results': max_results,
'tweet.fields': 'public_metrics'}
return (search_url, query_params)
def connect_to_endpoint(url, headers, params):
response = requests.request("GET", url, headers = headers, params = params)
print("Endpoint Response Code: " + str(response.status_code))
if response.status_code != 200:
raise Exception(response.status_code, response.text)
return response.json()
def get_response(keyword="stocks",max_results=10,verbose=False):
headers = create_headers()
url = create_url(keyword, max_results=10)
json_response = connect_to_endpoint(url[0], headers, url[1])
if verbose:
print(json_response)
print(type(json_response))
return json_response['data']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment