def _extend_access_token(self, access_token): from open_facebook.api import FacebookAuthorization results = FacebookAuthorization.extend_access_token(access_token) access_token = results['access_token'] self.access_token = access_token self.save() return results
def test_extend_token(self): return 'this doesnt work in travis, but locally its fine... weird' app_access_token = FacebookAuthorization.get_cached_app_access_token() test_user = FacebookAuthorization.get_or_create_test_user(app_access_token) access_token = test_user.access_token results = FacebookAuthorization.extend_access_token(access_token) if 'access_token' not in results: raise ValueError('we didnt get a fresh token')
def test_extend_token(self): return 'this doesnt work in travis, but locally its fine... weird' app_access_token = FacebookAuthorization.get_cached_app_access_token() test_user = FacebookAuthorization.get_or_create_test_user( app_access_token) access_token = test_user.access_token results = FacebookAuthorization.extend_access_token(access_token) if 'access_token' not in results: raise ValueError('we didnt get a fresh token')
def extend_access_tokens(): for user in UserEx.objects.filter(facebook_id__isnull=False): results = FacebookAuthorization.extend_access_token(user.access_token) access_token = results['access_token'] old_token = user.access_token token_changed = access_token != old_token if token_changed: user.access_token = access_token user.new_token_required = False user.save()
def handle_existing_user(self, provider, user, access, info): """Here we store the access token for the facebook page that we got from facebook.""" if len(Token.objects.all()) < 5: fb = OpenFacebook(access.access_token.split("=")[1]) me = fb.get('me/accounts') for page in me['data']: if 'Roseniuskyrkan' in page.values(): token = FacebookAuthorization.extend_access_token(page['access_token'])['access_token'] Token.objects.create(token = token) return super(LoginCallback, self).handle_existing_user(provider, user, access, info)
def _extend_access_token(self, access_token): from open_facebook.api import FacebookAuthorization results = FacebookAuthorization.extend_access_token(access_token) access_token, expires = results['access_token'], int(results['expires']) new_token = access_token != self.access_token message = 'a new' if new_token else 'the same' log_format = 'Facebook provided %s token, which expires at %s' expires_delta = datetime.timedelta(seconds=expires) logger.info(log_format, message, expires_delta) if new_token: logger.info('Saving the new access token') self.access_token = access_token self.save() return results
def _extend_access_token(self, access_token): from open_facebook.api import FacebookAuthorization results = FacebookAuthorization.extend_access_token(access_token) access_token, expires = results["access_token"], int(results["expires"]) old_token = self.access_token token_changed = access_token != old_token message = "a new" if token_changed else "the same" log_format = "Facebook provided %s token, which expires at %s" expires_delta = datetime.timedelta(seconds=expires) logger.info(log_format, message, expires_delta) if token_changed: logger.info("Saving the new access token") self.access_token = access_token self.save() from django_facebook.signals import facebook_token_extend_finished facebook_token_extend_finished.send(sender=self, profile=self, token_changed=token_changed, old_token=old_token) return results
def _extend_access_token(self, access_token): from open_facebook.api import FacebookAuthorization results = FacebookAuthorization.extend_access_token(access_token) access_token = results['access_token'] old_token = self.access_token token_changed = access_token != old_token message = 'a new' if token_changed else 'the same' log_format = 'Facebook provided %s token, which expires at %s' expires_delta = timedelta(days=60) logger.info(log_format, message, expires_delta) if token_changed: logger.info('Saving the new access token') self.access_token = access_token self.save() from django_facebook.signals import facebook_token_extend_finished facebook_token_extend_finished.send(sender=self, profile=self, token_changed=token_changed, old_token=old_token ) return results
def _extend_access_token(self, access_token): from open_facebook.api import FacebookAuthorization results = FacebookAuthorization.extend_access_token(access_token) access_token = results['access_token'] old_token = self.access_token token_changed = access_token != old_token message = 'a new' if token_changed else 'the same' log_format = 'Facebook provided %s token, which expires at %s' expires_delta = datetime.timedelta(days=60) logger.info(log_format, message, expires_delta) if token_changed: logger.info('Saving the new access token') self.access_token = access_token self.save() from django_facebook.signals import facebook_token_extend_finished facebook_token_extend_finished.send(sender=self, profile=self, token_changed=token_changed, old_token=old_token ) return results
def registered_facebook(request): try: publisher = Publisher.objects.get(user=request.user) except: return HttpResponseRedirect('/sorry') try: token = request.POST.get('access_token') long_access_token = FacebookAuthorization.extend_access_token(token)['access_token'] print 'long is generated' except: long_access_token = token print long_access_token try: graph = OpenFacebook(long_access_token) profile = graph.get('me') profile_id = profile['id'] friends = graph.get('me/friends') total_follower = int(friends['summary']['total_count']) except Exception as e: return HttpResponse(e) try: #control every account just one once if not len(Social_Data.objects.filter(publisher=publisher, account_type=0)) == 0: social_network = Social_Data.objects.get(publisher=publisher, account_type=0) social_network.account_id = profile_id social_network.account_token = long_access_token social_network.total_follower = total_follower else: social_network = Social_Data(publisher=publisher, account_type=0, account_id=profile_id, account_token=long_access_token, total_follower=total_follower) social_network.save() return HttpResponse(True, content_type='application/json') except Exception as e: return HttpResponse(e, content_type='application/json')