Login into OctoEverywhere and use it in your app, instead of NGROK
We keep the docs of old version here
from octoeverywhere import OctoEverywhere
octo = OctoEverywhere("email@example.com", "password")
session = octo.currentCookie
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
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}
user = octo.getUserInfo()
Response:
{'Error': '', 'Status': 200, 'Result': {'Email': 'test@example.com', 'PrinterIds': ['<printer ID>'], 'IsMfaEnabled': False, 'HasSeenFirstTimePortalCredsMessage': True}}
stats = octo.getStats()
Response:
{'Error': '', 'Status': 200, 'Result': {'Stats': {'ConnectedPrinters': 5476, 'WebcamMinutesStreamtedInLast24Hours': 3172}}}
messages = octo.getMessages()
Response:
{'Error': '', 'Status': 200, 'Result': {'MessageId': 0, 'HtmlString': None, 'NeedsAck': False, 'OverridePrinterErrors': False}}
Full example is avaiable in test2.py
file