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