From b79c737dfe4bc6fd8994f8d701adaac13cf812fe Mon Sep 17 00:00:00 2001 From: Joe Gregorio Date: Mon, 18 Nov 2013 11:16:33 -0500 Subject: [PATCH] Adding Python DFA Reporting API Samples. Reviewed in https://codereview.appspot.com/26070044/. --- .hgignore | 3 + samples/dfareporting/README | 5 ++ samples/dfareporting/client_secrets.json | 9 +++ samples/dfareporting/create_report.py | 67 ++++++++++++++++ samples/dfareporting/delete_report.py | 59 ++++++++++++++ samples/dfareporting/download_file.py | 58 ++++++++++++++ .../dfareporting/get_all_dimension_values.py | 72 ++++++++++++++++++ samples/dfareporting/get_all_files.py | 65 ++++++++++++++++ samples/dfareporting/get_all_report_files.py | 69 +++++++++++++++++ samples/dfareporting/get_all_reports.py | 65 ++++++++++++++++ samples/dfareporting/get_all_userprofiles.py | 48 ++++++++++++ samples/dfareporting/get_compatible_fields.py | 62 +++++++++++++++ samples/dfareporting/get_report.py | 59 ++++++++++++++ samples/dfareporting/get_report_file.py | 64 ++++++++++++++++ samples/dfareporting/get_userprofile.py | 56 ++++++++++++++ samples/dfareporting/patch_report.py | 67 ++++++++++++++++ samples/dfareporting/run_report.py | 59 ++++++++++++++ samples/dfareporting/update_report.py | 76 +++++++++++++++++++ 18 files changed, 963 insertions(+) create mode 100644 samples/dfareporting/README create mode 100644 samples/dfareporting/client_secrets.json create mode 100644 samples/dfareporting/create_report.py create mode 100644 samples/dfareporting/delete_report.py create mode 100644 samples/dfareporting/download_file.py create mode 100644 samples/dfareporting/get_all_dimension_values.py create mode 100644 samples/dfareporting/get_all_files.py create mode 100644 samples/dfareporting/get_all_report_files.py create mode 100644 samples/dfareporting/get_all_reports.py create mode 100644 samples/dfareporting/get_all_userprofiles.py create mode 100644 samples/dfareporting/get_compatible_fields.py create mode 100644 samples/dfareporting/get_report.py create mode 100644 samples/dfareporting/get_report_file.py create mode 100644 samples/dfareporting/get_userprofile.py create mode 100644 samples/dfareporting/patch_report.py create mode 100644 samples/dfareporting/run_report.py create mode 100644 samples/dfareporting/update_report.py diff --git a/.hgignore b/.hgignore index b83fd96..dc9cf78 100644 --- a/.hgignore +++ b/.hgignore @@ -19,3 +19,6 @@ google_api_python_client.egg-info/* dist/* snapshot/* MANIFEST +.project +.pydevproject +.settings/* diff --git a/samples/dfareporting/README b/samples/dfareporting/README new file mode 100644 index 0000000..ca8f9e9 --- /dev/null +++ b/samples/dfareporting/README @@ -0,0 +1,5 @@ +A collection of command-line samples for the DFA Reporting REST API. + +api: dfareporting +keywords: cmdline +author: Jonathon Imperiosi (jimper@google.com) \ No newline at end of file diff --git a/samples/dfareporting/client_secrets.json b/samples/dfareporting/client_secrets.json new file mode 100644 index 0000000..f9cf7ff --- /dev/null +++ b/samples/dfareporting/client_secrets.json @@ -0,0 +1,9 @@ +{ + "installed": { + "client_id": "[[INSERT CLIENT ID HERE]]", + "client_secret": "[[INSERT CLIENT SECRET HERE]]", + "redirect_uris": [], + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://accounts.google.com/o/oauth2/token" + } +} \ No newline at end of file diff --git a/samples/dfareporting/create_report.py b/samples/dfareporting/create_report.py new file mode 100644 index 0000000..f2c301f --- /dev/null +++ b/samples/dfareporting/create_report.py @@ -0,0 +1,67 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to create a report. + +Tags: reports.insert +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to create a report for') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + + try: + # Create a new report resource to insert + report = { + 'name': 'Example Standard Report', + 'type': 'STANDARD', + 'criteria': { + 'dateRange': {'relativeDateRange': 'YESTERDAY'}, + 'dimensions': [{'name': 'dfa:campaign'}], + 'metricNames': ['dfa:clicks'] + } + } + + # Construct the request. + request = service.reports().insert(profileId=profile_id, body=report) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/delete_report.py b/samples/dfareporting/delete_report.py new file mode 100644 index 0000000..8d518a6 --- /dev/null +++ b/samples/dfareporting/delete_report.py @@ -0,0 +1,59 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to delete a report. + +Tags: reports.delete +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to delete a report for') +argparser.add_argument('report_id', type=int, + help='The ID of the report to delete') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Construct the request. + request = service.reports().delete(profileId=profile_id, reportId=report_id) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/download_file.py b/samples/dfareporting/download_file.py new file mode 100644 index 0000000..af331f5 --- /dev/null +++ b/samples/dfareporting/download_file.py @@ -0,0 +1,58 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to download a file. + +Tags: files.get +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('report_id', type=int, + help='The ID of the report to get a file for') +argparser.add_argument('file_id', type=int, + help='The ID of the file to get') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + report_id = flags.report_id + file_id = flags.file_id + + try: + # Construct the request. + request = service.files().get_media(reportId=report_id, fileId=file_id) + + # Execute request and print the file contents + print request.execute() + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_all_dimension_values.py b/samples/dfareporting/get_all_dimension_values.py new file mode 100644 index 0000000..78d4f9c --- /dev/null +++ b/samples/dfareporting/get_all_dimension_values.py @@ -0,0 +1,72 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get all dimension values for a dimension. + +Tags: dimensionValues.query +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to get a report for') + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + + try: + # Create the dimension to query + dimension = { + 'dimensionName': 'dfa:advertiser', + 'startDate': '2013-01-01', + 'endDate': '2013-12-31' + } + + # Construct the request. + request = service.dimensionValues().query(profileId=profile_id, + body=dimension) + + while request is not None: + # Execute request and print response. + response = request.execute() + pprint.pprint(response) + + nextPageToken = response.get('nextPageToken') + + if nextPageToken and nextPageToken != '0': + request = service.dimensionValues().query_next(request, response) + else: + request = None + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) diff --git a/samples/dfareporting/get_all_files.py b/samples/dfareporting/get_all_files.py new file mode 100644 index 0000000..ca08698 --- /dev/null +++ b/samples/dfareporting/get_all_files.py @@ -0,0 +1,65 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a list of all the files for a profile. + +Tags: files.list +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to use') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + + try: + # Construct a get request for the specified profile. + request = service.files().list(profileId=profile_id, maxResults=10) + + while request is not None: + # Execute request and print response. + response = request.execute() + pprint.pprint(response) + + nextPageToken = response.get('nextPageToken') + + if nextPageToken: + request = service.files().list_next(request, response) + else: + request = None + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) diff --git a/samples/dfareporting/get_all_report_files.py b/samples/dfareporting/get_all_report_files.py new file mode 100644 index 0000000..9e27fed --- /dev/null +++ b/samples/dfareporting/get_all_report_files.py @@ -0,0 +1,69 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a list of all the files for a report. + +Tags: reports.files.list +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to use') +argparser.add_argument('report_id', type=int, + help='The ID of the report to list files for') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Construct a get request for the specified report. + request = service.reports().files().list(profileId=profile_id, + reportId=report_id) + + while request is not None: + # Execute request and print response. + response = request.execute() + pprint.pprint(response) + + nextPageToken = response.get('nextPageToken') + + if nextPageToken: + request = service.reports().files().list_next(request, response) + else: + request = None + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_all_reports.py b/samples/dfareporting/get_all_reports.py new file mode 100644 index 0000000..901b3a1 --- /dev/null +++ b/samples/dfareporting/get_all_reports.py @@ -0,0 +1,65 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a list of all reports. + +Tags: reports.list +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to list reports for') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + + try: + # Construct the request. + request = service.reports().list(profileId=profile_id) + + while request is not None: + # Execute request and print response. + response = request.execute() + pprint.pprint(response) + + nextPageToken = response.get('nextPageToken') + + if nextPageToken: + request = service.reports().list_next(request, response) + else: + request = None + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_all_userprofiles.py b/samples/dfareporting/get_all_userprofiles.py new file mode 100644 index 0000000..0be6258 --- /dev/null +++ b/samples/dfareporting/get_all_userprofiles.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a list of all user profiles. + +Tags: userProfiles.list +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, + scope='https://www.googleapis.com/auth/dfareporting') + + try: + # Construct the request. + request = service.userProfiles().list() + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_compatible_fields.py b/samples/dfareporting/get_compatible_fields.py new file mode 100644 index 0000000..6fa77ce --- /dev/null +++ b/samples/dfareporting/get_compatible_fields.py @@ -0,0 +1,62 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get the compatible fields for a report. + +Tags: reports.compatibleFields.query +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to use') +argparser.add_argument('report_id', type=int, + help='The ID of the report to get compatible fields for') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Retrieve the specified report resource + report = service.reports().get(profileId=profile_id, + reportId=report_id).execute() + + # Execute request and print response. + request = service.reports().compatibleFields().query(profileId=profile_id, + body=report) + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_report.py b/samples/dfareporting/get_report.py new file mode 100644 index 0000000..dbcde4e --- /dev/null +++ b/samples/dfareporting/get_report.py @@ -0,0 +1,59 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a report. + +Tags: reports.delete +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to get a report for') +argparser.add_argument('report_id', type=int, + help='The ID of the report to get') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Construct the request. + request = service.reports().get(profileId=profile_id, reportId=report_id) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_report_file.py b/samples/dfareporting/get_report_file.py new file mode 100644 index 0000000..ad3ba8a --- /dev/null +++ b/samples/dfareporting/get_report_file.py @@ -0,0 +1,64 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a file for a report. + +Tags: reports.files.get +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to use') +argparser.add_argument('report_id', type=int, + help='The ID of the report to get a file for') +argparser.add_argument('file_id', type=int, + help='The ID of the file to get') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + file_id = flags.file_id + + try: + # Construct a get request for the specified report. + request = service.reports().files().get(fileId=file_id, + profileId=profile_id, + reportId=report_id) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/get_userprofile.py b/samples/dfareporting/get_userprofile.py new file mode 100644 index 0000000..391dd93 --- /dev/null +++ b/samples/dfareporting/get_userprofile.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to get a user profile. + +Tags: userProfiles.get +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to get a report for') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + + try: + # Construct the request. + request = service.userProfiles().get(profileId=profile_id) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/patch_report.py b/samples/dfareporting/patch_report.py new file mode 100644 index 0000000..2098984 --- /dev/null +++ b/samples/dfareporting/patch_report.py @@ -0,0 +1,67 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to patch a standard report. + +Tags: reports.patch +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to patch a report for') +argparser.add_argument('report_id', type=int, + help='The ID of the standard report to patch') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Create a report resource with the fields to patch + report = { + 'criteria': { + 'dateRange': {'relativeDateRange': 'YESTERDAY'} + } + } + + # Construct the request. + request = service.reports().patch(profileId=profile_id, reportId=report_id, + body=report) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/run_report.py b/samples/dfareporting/run_report.py new file mode 100644 index 0000000..2e12435 --- /dev/null +++ b/samples/dfareporting/run_report.py @@ -0,0 +1,59 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to run a report. + +Tags: reports.run +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to use') +argparser.add_argument('report_id', type=int, + help='The ID of the report to run') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Construct a get request for the specified report. + request = service.reports().run(profileId=profile_id, reportId=report_id) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file diff --git a/samples/dfareporting/update_report.py b/samples/dfareporting/update_report.py new file mode 100644 index 0000000..c0aef95 --- /dev/null +++ b/samples/dfareporting/update_report.py @@ -0,0 +1,76 @@ +#!/usr/bin/python +# +# Copyright 2013 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This example illustrates how to update a report. + +Tags: reports.update +""" + +__author__ = ('jimper@google.com (Jonathon Imperiosi)') + +import argparse +import pprint +import sys + +from apiclient import sample_tools +from oauth2client import client + +# Declare command-line flags. +argparser = argparse.ArgumentParser(add_help=False) +argparser.add_argument('profile_id', type=int, + help='The ID of the profile to update a report for') +argparser.add_argument('report_id', type=int, + help='The ID of the report to update') + + +def main(argv): + # Authenticate and construct service. + service, flags = sample_tools.init( + argv, 'dfareporting', 'v1.3', __doc__, __file__, parents=[argparser], + scope='https://www.googleapis.com/auth/dfareporting') + + profile_id = flags.profile_id + report_id = flags.report_id + + try: + # Construct a get request for the specified report. + request = service.reports().get(profileId=profile_id, reportId=report_id) + + # Execute request + response = request.execute() + + # Create a report resource with the fields to update + report = { + 'accountId': response['accountId'], + 'id': response['id'], + 'lastModifiedTime': response['lastModifiedTime'], + 'name': 'Example Standard Report (Updated)', + 'ownerProfileId': response['ownerProfileId'], + 'type': response['type'] + } + + # Create the update request + request = service.reports().update(profileId=profile_id, + reportId=report_id, body=report) + + # Execute request and print response. + pprint.pprint(request.execute()) + except client.AccessTokenRefreshError: + print ('The credentials have been revoked or expired, please re-run the ' + 'application to re-authorize') + +if __name__ == '__main__': + main(sys.argv) \ No newline at end of file