Adding Python DFA Reporting API Samples.
Reviewed in https://codereview.appspot.com/26070044/.
diff --git a/.hgignore b/.hgignore
index b83fd96..dc9cf78 100644
--- a/.hgignore
+++ b/.hgignore
@@ -19,3 +19,6 @@
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