Line | |
---|
1 | <?php |
---|
2 | |
---|
3 | |
---|
4 | |
---|
5 | # hors de la fonction, de facon a ce que la class soit chargee |
---|
6 | # meme si le resultat est deja dans le cache (sinon le cache est inexploitable). |
---|
7 | # cf. iterateur/data.php |
---|
8 | |
---|
9 | # |
---|
10 | # Pour obtenir des cles, il faut s'enregistrer sur |
---|
11 | # https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html |
---|
12 | |
---|
13 | # ces valeurs sont a definir dans mes_options.php |
---|
14 | # todo : les passer en CFG |
---|
15 | defined('AWS_API_KEY') or define('AWS_API_KEY', 'API KEY'); |
---|
16 | defined('AWS_API_SECRET_KEY') or define('AWS_API_SECRET_KEY', 'SECRET KEY'); |
---|
17 | |
---|
18 | include_spip('lib/AmazonECS.class'); |
---|
19 | |
---|
20 | function inc_booksearch_to_array($u) { |
---|
21 | |
---|
22 | try { |
---|
23 | |
---|
24 | $amazonEcs = new AmazonECS(AWS_API_KEY, AWS_API_SECRET_KEY, 'FR'); |
---|
25 | |
---|
26 | // from now on you want to have pure arrays as response |
---|
27 | $amazonEcs->setReturnType(AmazonECS::RETURN_TYPE_ARRAY); |
---|
28 | |
---|
29 | $response = $amazonEcs |
---|
30 | ->responseGroup('Large') |
---|
31 | ->category('Books') |
---|
32 | ->search($u); |
---|
33 | |
---|
34 | // on se limite a la premiere page de resultats |
---|
35 | $u = @$response['Items']['Item']; |
---|
36 | |
---|
37 | // simplifier le tableau des resultats, on se fiche des liens amazon |
---|
38 | if (is_array($u)) |
---|
39 | foreach($u as $k => &$v) { |
---|
40 | #unset($u[$k]['DetailPageURL']); |
---|
41 | #unset($u[$k]['ItemLinks']); |
---|
42 | foreach ($u[$k]['ItemAttributes'] as $k2 => $v2) |
---|
43 | $u[$k][$k2] = $v2; |
---|
44 | unset($u[$k]['ItemAttributes']); |
---|
45 | } |
---|
46 | # cas a 0 reponse |
---|
47 | else |
---|
48 | $u = array(); |
---|
49 | } catch (Exception $e) { |
---|
50 | return $e; |
---|
51 | } |
---|
52 | |
---|
53 | return $u; |
---|
54 | |
---|
55 | } |
---|
56 | |
---|
Note: See
TracBrowser
for help on using the repository browser.