Skip to main content

Official Python client for the ExportComments API

Project description

ExportComments API for Python

Official Python client for the ExportComments API. Build and run machine learning models for language processing from your Python apps.

Installation

You can use pip to install the library:

$ pip install exportcomments

Alternatively, you can just clone the repository and run the setup.py script:

$ python setup.py install

Usage

Before making requests to the API, you need to create an instance of the ExportComments client. You will have to use your account API Key:

from exportcomments import ExportComments

# Instantiate the client Using your API key
ex = ExportComments('<YOUR API TOKEN HERE>')

Usage Examples

From the ExportComments client instance, you can call any endpoint:

Check export

response = ex.exports.check(
    guid='dfd6a2f2-5579-421f-96ac-98993d0edea1'
)

Responses

The response object returned by every endpoint call is a ExportCommentsResponse object. The body attribute has the parsed response from the API:

print(response.body)

# =>  {
# =>      "code": 200,
# =>      "success": true,
# =>      "data": {
# =>          "url": "https://www.instagram.com/p/1234567",
# =>          "guid": "2cfb0b9d-7633-4341-a702-cb889fe549eb",
# =>          "status": "queueing",
# =>          "replies": false,
# =>          "fileName": "comments5ea4b4d5a7602-1325511884314646.xlsx",
# =>          "fileNameRAW": "08b735760a5a40eb1fd70ca16e97aed3-2e0916fe-de86-4422-8449-fb608cbe5221.json",
# =>          "total": 0,
# =>          "totalExported": 0,
# =>          "retry": 0,
# =>          "error": null,
# =>          "repliesCount": 0,
# =>          "twitterType": null,
# =>          "timezone": "UTC",
# =>          "createdAt": "2016-08-26T07:32:09+00:00",
# =>          "updatedAt": "2016-08-26T07:32:09+00:00",
# =>          "exportedAt": "",
# =>          "downloadUrl": "/exports/comments5ea4b4d5a7602-1325511884314646.xlsx",
# =>          "rawUrl": "/exports/08b735760a5a40eb1fd70ca16e97aed3-2e0916fe-de86-4422-8449-fb608cbe5221.json"
# =>      },
# =>      "message": null
# =>  }

Create export

response = ex.exports.create(
    url='https://www.instagram.com/p/1234567', replies='false', twitterType=None
)

Errors

Endpoint calls may raise exceptions. Here is an example on how to handle them:

from exportcomments.exceptions import PlanQueryLimitError, ExportCommentsException

try:
    response = ex.exports.create(url='https://www.instagram.com/p/1234567', replies='false', twitterType=None)
except PlanQueryLimitError as e:
    # No monthly queries left
    # e.response contains the ExportCommentsResponse object
    print(e.error_code, e.detail)
except ExportCommentsException:
    raise

Available exceptions:

class Description
ExportCommentsException Base class for every exception below.
RequestParamsError An invalid parameter was sent. Check the exception message or response object for more information.
AuthenticationError Authentication failed, usually because an invalid token was provided. Check the exception message.
ForbiddenError You don't have permissions to perform the action on the given resource.
PlanRateLimitError You have sent too many requests in the last minute.
ConcurrencyRateLimitError You have sent too many requests in the last second.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exportcomments-1.0.1.tar.gz (6.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page