mytja / OctoEverywhereAPI

OctoEverywhere unoffical API for Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OctoEverywhereAPI

Login into OctoEverywhere and use it in your app, instead of NGROK

We keep the docs of old version here

Usage

Import

from octoeverywhere import OctoEverywhere

octo = OctoEverywhere("email@example.com", "password")

Get current session cookie:

session = octo.currentCookie

Get new session cookie:

session = octo.getSessionCookie("email@example.com", "password")

If we inserted correct login info, we should get something like this:

'dnmdmkjasnmkjkj644kJhjjhhHSIJSAjJKHKJAJSJIUEWUEHXSHWETWQZROO94UZZW'

Otherwise, an exception will be thrown:

Incorrect login info with status code of 400

Get printer info:

You can get Printer IDs, with getUserInfo() function.

printer = octo.getPrinterInfo("<your printer ID>")

If we inserted correct login info, we should get something like this:

{'Error': '', 'Status': 200, 'Result': {'Id': '<your printer ID>', 'Name': 'example', 'Owners': ['test@example.com'], 'LastConnectionTime': '2021-03-30T15:33:23.4649623Z', 'LastDisconnectTime': '2021-03-30T15:33:13.9014383Z'}}

Otherwise, a following JSON will be thrown:

{'Error': 'No printer found', 'Status': 404, 'Result': None}

Get user info

user = octo.getUserInfo()

Response:

{'Error': '', 'Status': 200, 'Result': {'Email': 'test@example.com', 'PrinterIds': ['<printer ID>'], 'IsMfaEnabled': False, 'HasSeenFirstTimePortalCredsMessage': True}}

Get OctoEverywhere Statistics for their website

stats = octo.getStats()

Response:

{'Error': '', 'Status': 200, 'Result': {'Stats': {'ConnectedPrinters': 5476, 'WebcamMinutesStreamtedInLast24Hours': 3172}}}

Get Messages

messages = octo.getMessages()

Response:

{'Error': '', 'Status': 200, 'Result': {'MessageId': 0, 'HtmlString': None, 'NeedsAck': False, 'OverridePrinterErrors': False}}

Example

Full example is avaiable in test2.py file

About

OctoEverywhere unoffical API for Python

License:MIT License


Languages

Language:Python 100.0%