File: crowding.py

package info (click to toggle)
python-googleapi 2.188.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 573,720 kB
  • sloc: python: 11,217; javascript: 249; sh: 114; makefile: 59
file content (49 lines) | stat: -rw-r--r-- 1,688 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright 2014 Google Inc. All Rights Reserved.

"""Query with grouping against the shopping search API"""

import pprint

from googleapiclient.discovery import build


SHOPPING_API_VERSION = "v1"
DEVELOPER_KEY = "<YOUR DEVELOPER KEY>"


def main():
    """Get and print a feed of public products in the United States mathing a
    text search query for 'digital camera' and grouped by the 8 top brands.

    The list method of the resource should be called with the "crowdBy"
    parameter.  Each parameter should be designed as <attribute>:<occurence>,
    where <occurrence> is the number of that <attribute> that will be used. For
    example, to crowd by the 5 top brands, the parameter would be "brand:5". The
    possible rules for crowding are currently:

    account_id:<occurrence> (eg account_id:5)
    brand:<occurrence> (eg brand:5)
    condition:<occurrence> (eg condition:3)
    gtin:<occurrence> (eg gtin:10)
    price:<occurrence> (eg price:10)

    Multiple crowding rules should be specified by separating them with a comma,
    for example to crowd by the top 5 brands and then condition of those items,
    the parameter should be crowdBy="brand:5,condition:3"
    """
    client = build("shopping", SHOPPING_API_VERSION, developerKey=DEVELOPER_KEY)
    resource = client.products()
    # The crowdBy parameter to the list method causes the results to be grouped,
    # in this case by the top 8 brands.
    request = resource.list(
        source="public", country="US", q="digital camera", crowdBy="brand:8"
    )
    response = request.execute()
    pprint.pprint(response)


if __name__ == "__main__":
    main()