-
Notifications
You must be signed in to change notification settings - Fork 0
/
diigo.class.php
72 lines (61 loc) · 1.55 KB
/
diigo.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
/**
* Main class to interact with Diigo API.
*
* @category PHP
* @package diigosilo
* @author Pierre-Yves Gillier <pivwan@gmail.com>
* @copyright 2008 Pierre-Yves Gillier
* @license http://www.apache.org/licenses/LICENSE-2.0.txt Apache Software Licence 2.0
* @version 0.1
* @link http://www.pivwan.net/weblog/plugin-diigosilo
*/
class DiigoAPI
{
private $username;
private $password;
private $httpClient;
const API_URI = "api2.diigo.com";
public function __construct($username,$password)
{
// Get credentials
$this->username = $username;
$this->password = $password;
// Init httpClient
$this->httpClient = new HttpClient(self::API_URI);
$this->httpClient->setUserAgent("Diigo Silo for Habari/".DIIGO_PLUGIN_VERSION);
$this->httpClient->setAuthorization($this->username,$this->password);
if(defined('UNITTESTING'))
$this->httpClient->setDebug(true);
}
public function getTags()
{
}
public function getBookmarks()
{
$params = array('users' => $this->username );
if($this->httpClient->get("/bookmarks",$params)==true)
{
return $this->parseJSON($this->httpClient->getContent());
}
else
{
throw new Exception("WGET:"+$this->httpClient->getError());
}
}
private function parseJSON($json)
{
if (!extension_loaded('json'))
{
include_once(dirname(__FILE__).'/JSON.class.php');
$json = new JSON;
$objs = $json->unserialize($json);
}
else
{
$objs = json_decode($json);
}
return($objs);
}
}
?>