Esempio n. 1
0
	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)
Esempio n. 2
0
	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