Asana::getUsers PHP Method

getUsers() public method

Returns the user records for all users in all workspaces you have access.
public getUsers ( array $opts = [] ) : string
$opts array Array of options to pass to the API (@see https://asana.com/developers/api-reference/users) Example: Returning additional fields with 'opt_fields' getUsers(['opt_fields' => 'name,email,photo,workspaces'])
return string JSON or null
    public function getUsers(array $opts = array())
    {
        return $this->askAsana($this->userUrl . '?' . http_build_query($opts));
    }

Usage Example

<?php

// Define Asana API Key
define('ASANA_API_KEY', 'REPLACE THIS');
define('ASANA_WORKSPACE_ID', 'REPLACE THIS');
// Include Asana API Class
require_once 'asana.php';
// Initialize Asana API Class
$asana = new Asana(ASANA_API_KEY);
$graphTodo = array();
$graphDone = array();
$errors = array('message' => '', 'detail' => '');
$users = json_decode($asana->getUsers());
if (property_exists($users, 'data') && is_array($users->data)) {
    foreach ($users->data as $u) {
        $todo = 0;
        $done = 0;
        $due = 0;
        $filters = array("assignee" => $u->id, "workspace" => ASANA_WORKSPACE_ID);
        $tasks = json_decode($asana->getTasksByFilter($filters, 'completed,due_on'));
        if (property_exists($tasks, 'data') && is_array($tasks->data)) {
            foreach ($tasks->data as $t) {
                $dueDate = new DateTime($t->due_on);
                $nowDate = new DateTime('now');
                if (!$t->completed && $dueDate < $nowDate) {
                    $due++;
                }
                if ($t->completed) {
                    $done++;
                }
                if (!$t->completed && $dueDate > $nowDate) {