44 lines
No EOL
1.4 KiB
Python
44 lines
No EOL
1.4 KiB
Python
"""
|
|
Demonstrate basic usage
|
|
"""
|
|
from apiclient import APIClient
|
|
import os, simplejson as json
|
|
|
|
# Handle environment variables
|
|
from dotenv import load_dotenv
|
|
load_dotenv()
|
|
if not os.getenv("client_id") or not os.getenv("client_secret"):
|
|
raise Exception("Please set client_id and client_secret in your environment variables.")
|
|
|
|
# Initialize API client with credentials from environment variables
|
|
API = APIClient(
|
|
client_id=os.getenv("client_id"),
|
|
client_secret=os.getenv("client_secret"),
|
|
debug=True
|
|
)
|
|
|
|
# Keep a token cache to avoid unnecessary sign-ins during development.
|
|
# (In production, you'd handle this more robustly and securely)
|
|
|
|
if os.path.exists("token_data.json"):
|
|
with open("token_data.json", "r") as f:
|
|
token_data = json.load(f)
|
|
API.set_token(token_data)
|
|
|
|
# Get a new one if we don't have one or if the existing one is expired
|
|
if not API.is_token_valid():
|
|
tokendata = API.sign_in()
|
|
with open("token_data.json", "w") as f:
|
|
json.dump(tokendata, f, indent=4)
|
|
|
|
# profile = API.run_job('userprofile.get', "simon-little")
|
|
# print(profile)
|
|
# print("-----------------------------")
|
|
# branch = API.run_job('branch.get', "music")
|
|
# print(branch)
|
|
# print("-----------------------------")
|
|
# post = API.run_job('post.get', "1774875037-170a46a9")
|
|
# print(post)
|
|
# print("-----------------------------")
|
|
feed = API.run_job('post.listbybranch', "music")
|
|
print(feed) |