def create_user(self, first_name, last_name, permissions, locale='en_US', installed=True): """Create a test user associated with the app Args: first_name - The first name of the user last_name - The last name of the user permissions - The permissions being requested for the user (see facebook_test.util) for permission options locale - The locale of the user account installed - A flag to indicated whether or not you want the user to be connect to the app Returns: A FacebookUser instance """ user_dict = util.json.loads(util.graph_get( '/{app_id}/accounts/test-users'.format(app_id=self.app_id), { 'installed': installed, 'name': first_name + ' ' + last_name, 'locale': locale, 'permissions': ','.join([v for k, v in util._PERMISSION_TO_API_REQUEST.iteritems() if k & permissions]), 'method': 'post', 'access_token': self.app_access_token, 'redirect_uri': '' } )) return FacebookUser.from_facebook_user_dict(self, user_dict)
def get_all_users(self, after=None): """Generates all available users of the app Args: after - Used for pagination Generates: FacebookUser instances """ params = { 'access_token': self.app_access_token } if after: params['after'] = after response = util.json.loads( util.graph_get('/{app_id}/accounts/test-users'.format(app_id=self.app_id), params) ) if len(response['data']) == 0: return for partial_user_dict in response['data']: other_partial_user_dict = self.__get_user(partial_user_dict['id']) other_partial_user_dict.update(partial_user_dict) user = FacebookUser.from_facebook_user_dict( self, other_partial_user_dict ) if user.fbuid != str(self.__open_graph_test_user_fbuid): yield user for user in self.get_all_users(after=response['paging']['cursors']['after']): yield user