Metadata-Version: 2.1
Name: hootsweet
Version: 0.6.5
Summary: A python library for the HootSuite REST API.
Keywords: hootsuite,api,social
Author: Ciaran McCormick
Author-email: ciaran@ciaranmccormick.com
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries
Requires-Dist: cherrypy (>=18.5.0,<19.0.0)
Requires-Dist: pytz (>=2019.3,<2020.0)
Requires-Dist: requests (>=2.23,<3.0)
Requires-Dist: requests_oauthlib (>=1.3.0,<2.0.0)
Description-Content-Type: text/markdown

## Hootsweet

![HootSweet](https://github.com/ciaranmccormick/hootsweet/workflows/HootSweet/badge.svg)
![PyPI](https://img.shields.io/pypi/v/hootsweet)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hootsweet)
![PyPI - Format](https://img.shields.io/pypi/format/hootsweet)
[![Requirements Status](https://requires.io/github/ciaranmccormick/hootsweet/requirements.svg?branch=develop)](https://requires.io/github/ciaranmccormick/hootsweet/requirements/?branch=develop)

A python API for the HootSuite REST API.

### Installation

```shell
pip install hootsweet
```

### Usage

```python
from hootsweet import HootSweet

client_id = "Your-HootSuite-Client-ID"
client_secret = "Your-HootSuite-Client-Secret"
redirect_uri = "http://redirect.uri/"

def handle_refresh(token):
    # callback function to save token to a database or file
    save_token_to_db(token)

client = HootSweet(client_id, client_secret, redirect_uri=redirect_uri, refresh_cb=handle_refresh)

# Step 1 get authorization url from HootSuite
url, state = client.authorization_url()

# Step 2 go to url above and get OAuth2 code
token = client.fetch_token(code)

# client.token now contains your authentication token
# Step 3 (optional) refresh token periodically, this automatically calls handle_refresh
token = client.refresh_token()

# retrieve data from https://platform.hootsuite.com/v1/me
me = client.get_me()

# retrieve authenticated members organizations https://platform.hootsuite.com/v1/me/organizations
organizations = client.get_me_organizations()
```

#### Messages

```python

token = {
"access_token": "e9a90a81-xf2d-dgh3-cfsd-23jhvn76",
"token_Type": "Bearer",
"expires_in": 2592000,
"refresh_token": "82d82cf4-76gf-gfds-nt3k-lzpo12jg",
"scope": "offline"
}

client = HootSweet("client_id", "client_secret", token=token)

# Schedule a message
text = "A message"
social_profile_ids = ["1234", "12345"]
send_time = datetime(2020, 1, 1, 12, 40, 15)
message = client.schedule_message(text=text, social_profile_ids=social_profile_ids,  send_time=send_time)


# Get message
message = client.get_message(message_id="98765")

# Delete message
client.delete_message(message_id="98765")
```

