2017 © Pedro PelĆ”ez
 

library workflowy-php

An unofficial WorkFlowy API

image

johansatge/workflowy-php

An unofficial WorkFlowy API

  • Saturday, July 21, 2018
  • by johansatge
  • Repository
  • 12 Watchers
  • 65 Stars
  • 106 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 1 Open issues
  • 6 Versions
  • 2 % Grown

The README.md

Version, (*1)

WorkflowyPHP, (*2)

An unofficial WorkFlowy API written in PHP., (*3)


Disclaimer

The aim of the API is to keep things simple. Please keep in mind that it is an unofficial tool, and it may stop working at any time., (*4)

So, I strongly recommend you not to manipulate sensitive data with this API, and be sure to make regular backups of your lists., (*5)

Installation

By using Composer:, (*6)

{
    "require": {
        "johansatge/workflowy-php": "0.1"
    }
}

If you do not use Composer, you can download the source files, install them anywhere on your project, and call the providden autoloader file:, (*7)

<?php require_once '/your/project/root/path/workflowy-php/src/autoload.php';

Usage

Login API

Because of the unofficial status of the API, you have to login first, by using your regular credentials, before being able to perform requests on your data., (*8)

use WorkFlowyPHP\WorkFlowy;
use WorkFlowyPHP\WorkFlowyException;
try
{
    $session_id = WorkFlowy::login('user@domain.org', 'password');
}
catch (WorkFlowyException $e)
{
    var_dump($e->getMessage());
}

The $session_id variable will be used later, when performing requests., (*9)

You have to use your unencoded password in your code. So I strongly advise you to store it in a different file, or ask it once to the user, then store the session ID. (But keep in mind that the session does not last forever.) This is a huge limitation, but for now there is no workaround., (*10)

Lists API

Lists-related stuff is managed with the recursive WorkFlowySublist class., (*11)

First, you will need to get the main (root) list., (*12)

use WorkFlowyPHP\WorkFlowyList;

$list_request = new WorkFlowyList($session_id);
$list = $list_request->getList();

Then, you will be able to perform the following operations on the resulting $list, or its sublists., (*13)

Get the informations of a list

Function Returns Description
$list->getID(); string Get the ID of the list
$list->getName(); string Get the name of the list
$list->getDescription(); string Get the description of the list
$list->getParent(); WorkFlowySublist Get the parent of the list
$list->isComplete(); boolean Get the status of the list
$list->getCompletedTime(); int Get the completed time of the list (Unix timestamp)
$list->getLastModifiedTime(); int Get the last modified time of the list (Unix timestamp)
$list->getOPML(); string Get the list and its sublists as an OPML string
$list->getSublists(); array Get the sublists of the list
$list->searchSublist('/My sublist name/'); WorkFlowySublist Returns the first child list matching the given name
$list->searchSublist('/My sublist name/', array('get_all' => true)); array Returns all children lists matching the given name

Edit the informations of a list

Function Parameters Description
$list->setName('My sublist'); string Sets the list name
$list->setDescription('My sublist description'); string Sets the list description
$list->setParent($parent_list, 2); WorkFlowySublist,int Sets the list parent and its position
$list->setComplete(true); boolean Sets the list status
$list->createSublist('My sublist name', 'My sublist description', 9); string,string,int Creates a sublist

The methods below are used to edit data., (*14)

Keep in mind that they will send requests to the server, but not update the existing variables., (*15)

For instance, if you change the parent of a list and call the getSublists() method on its old parent, the list will still be present in the resulting array., (*16)

Account API

Function Returns Description
$account_request = new WorkFlowyAccount($session_id); WorkFlowyAccount Gets an account object
$account_request->getUsername(); string Gets his username
$account_request->getEmail(); string Gets his email address
$account_request->getTheme(); string Gets his selected theme
$account_request->getItemsCreatedInMonth(); int Gets the number of items created during the month
$account_request->getMonthlyQuota(); int Gets his monthly quota
$account_request->getRegistrationDate('d-m-Y'); string Gets his registration date
Leave the format empty to use the default value ('Y-m-d H:i:s')
$account_request->getRegistrationDate('timestamp'); string Gets his registration time

Changelog

Version Date Notes
0.2.3 2019-05-17 Fix authentication process (#10)
0.2.2 2019-02-13 Fix authentication process (#8)
0.2.1 2018-11-11 Fix getLastModifiedTime() and getCompletedTime() methods
Internal WorkFlowy API started returning timestamps in seconds
0.2.0 2018-07-21 Fix getItemsCreatedInMmonth() method naming (renamed to getItemsCreatedInMonth())
Update documentation
Update sample code
0.1.3 2017-02-28 Add $list->getCompletedTime() & $list->getLastModifiedTime() methods (#5)
Fix OPML encoding (#4)
0.1.2 2016-06-26 Fix searchSublistwith get_all option (@hirechrismeyers)
0.1.1 2015-08-25 Fix case of filenames (@citywill)
0.1 2015-01-01 Initial version

License

This project is released under the MIT License., (*17)

Credits

The Versions

21/07 2018

dev-master

9999999-dev https://github.com/johansatge/workflowy-php

An unofficial WorkFlowy API

  Sources   Download

MIT

api php workflowy

21/07 2018

0.2.0

0.2.0.0 https://github.com/johansatge/workflowy-php

An unofficial WorkFlowy API

  Sources   Download

MIT

api php workflowy

28/02 2017

0.1.3

0.1.3.0 https://github.com/johansatge/workflowy-php

An unofficial WorkFlowy API

  Sources   Download

MIT

api php workflowy

26/06 2016

0.1.2

0.1.2.0 https://github.com/johansatge/workflowy-php

An unofficial WorkFlowy API

  Sources   Download

MIT

api php workflowy

25/08 2015

0.1.1

0.1.1.0 https://github.com/johansatge/workflowy-php

An unofficial WorkFlowy API

  Sources   Download

MIT

api php workflowy

01/01 2015

0.1-beta

0.1.0.0-beta https://github.com/johansatge/workflowy-php

An unofficial WorkFlowy API

  Sources   Download

MIT

api php workflowy