Force a refresh of the oauth token before every request to ensure we do not fail because of that
Force a refresh of the oauth token before every request to ensure we do not fail because of that

--- a/ckanext/ga_report/download_analytics.py
+++ b/ckanext/ga_report/download_analytics.py
@@ -258,24 +258,22 @@
         return data
 
     def _get_json(self, params, prev_fail=False):
-        if prev_fail:
-          import os
-          ga_token_filepath = os.path.expanduser(config.get('googleanalytics.token.filepath', ''))
-          if not ga_token_filepath:
-              print 'ERROR: In the CKAN config you need to specify the filepath of the ' \
-                    'Google Analytics token file under key: googleanalytics.token.filepath'
-              return
-
-          try:
-              self.token, svc = init_service(ga_token_filepath, None)
-          except TypeError:
-              print ('Have you correctly run the getauthtoken task and '
-                     'specified the correct token file in the CKAN config under '
-                     '"googleanalytics.token.filepath"?')
-
-        try:
-            # Because of issues of invalid responses, we are going to make these requests
-            # ourselves.
+        ga_token_filepath = os.path.expanduser(config.get('googleanalytics.token.filepath', ''))
+        if not ga_token_filepath:
+            print 'ERROR: In the CKAN config you need to specify the filepath of the ' \
+                'Google Analytics token file under key: googleanalytics.token.filepath'
+        return
+
+        try:
+            log.info("Trying to refresh our OAuth token")
+            self.token, svc = init_service(ga_token_filepath, None)
+            log.info("OAuth token refreshed")
+        except Exception auth_exception:
+            log.error("Oauth refresh failed")
+            log.exception(auth_exception)
+            return
+
+        try:
             headers = {'authorization': 'Bearer ' + self.token}
             r = requests.get("https://www.googleapis.com/analytics/v3/data/ga", params=params, headers=headers)
             if r.status_code != 200:
@@ -285,10 +283,6 @@
 
             return json.loads(r.content)
         except Exception, e:
-            if not prev_fail:
-              print e
-              results = self._get_json(self, params, prev_fail=True)
-            else:
               log.exception(e)
 
         return dict(url=[])