Esempio n. 1
0
    def get_business_users(self, fields=None, params=None, batch=None, pending=False):
        param_types = {
        }
        enums = {
        }
        request = FacebookRequest(
            node_id=self['id'],
            method='GET',
            endpoint='/business_users',
            api=self._api,
            param_checker=TypeChecker(param_types, enums),
            target_class=AbstractCrudObject,
            api_type='EDGE',
            response_parser=ObjectParser(target_class=AbstractCrudObject),
        )

        # TODO: Create an actual object instead of using AbstractCrudObject with this list..
        request._accepted_fields = list(request._accepted_fields)
        request._accepted_fields.extend([
            'id', 'name', 'first_name', 'last_name', 'marked_for_removal', 'business', 'role', 'email'
        ])

        request.add_params(params)
        request.add_fields(fields)

        if batch is not None:
            request.add_to_batch(batch)
            return request
        elif pending:
            return request
        else:
            self.assure_call()
            return request.execute()
Esempio n. 2
0
    def get_apps(self, fields=None, params=None, batch=None, pending=False):
        param_types = {
        }
        enums = {
        }
        request = FacebookRequest(
            node_id=self['id'],
            method='GET',
            endpoint='/apps',
            api=self._api,
            param_checker=TypeChecker(param_types, enums),
            target_class=AbstractCrudObject,
            api_type='EDGE',
            response_parser=ObjectParser(target_class=AbstractCrudObject, api=self._api),
        )

        # TODO: Create an actual object instead of using AbstractCrudObject with this list..
        request._accepted_fields = list(request._accepted_fields)
        request._accepted_fields.extend([
            'id',
            'name',
            'category',
            'access_status',
            'access_type',
            'permitted_roles',
            'permitted_access_types',
            'category',
            'link',
            'picture',
        ])

        request.add_params(params)
        request.add_fields(fields)

        if batch is not None:
            request.add_to_batch(batch)
            return request
        elif pending:
            return request
        else:
            self.assure_call()
            return request.execute()
Esempio n. 3
0
    def get_access_token_debug_details(self,
                                       fields=None,
                                       params=None,
                                       batch=None,
                                       pending=False):
        param_types = {
            'input_token': 'string',
            'access_token': 'string',
        }
        enums = {}
        request = FacebookRequest(
            node_id='debug_token',
            method='GET',
            endpoint='/',
            api=self._api,
            param_checker=TypeChecker(param_types, enums),
            target_class=AbstractCrudObject,
            api_type='NODE',
            response_parser=ObjectParser(reuse_object=self),
        )

        # TODO: Create an actual object instead of using AbstractCrudObject with this list..
        request._accepted_fields = list(request._accepted_fields)
        request._accepted_fields.extend([
            'app_id', 'application', 'expires_at', 'is_valid', 'issued_at',
            'scopes', 'user_id'
        ])

        request.add_params(params)
        request.add_fields(fields)

        if batch is not None:
            request.add_to_batch(batch)
            return request
        elif pending:
            return request
        else:
            self.assure_call()
            return request.execute()
Esempio n. 4
0
    def get_extended_access_token(self,
                                  fields=None,
                                  params=None,
                                  batch=None,
                                  pending=False):
        param_types = {
            'grant_type': 'string',
            'client_id': 'string',
            'client_secret': 'string',
            'fb_exchange_token': 'string',
        }
        enums = {}
        request = FacebookRequest(
            node_id='oauth',
            method='GET',
            endpoint='/access_token',
            api=self._api,
            param_checker=TypeChecker(param_types, enums),
            target_class=AbstractCrudObject,
            api_type='NODE',
            response_parser=ObjectParser(reuse_object=self),
        )

        # TODO: Create an actual object instead of using AbstractCrudObject with this list..
        request._accepted_fields = list(request._accepted_fields)
        request._accepted_fields.extend(['access_token', 'token_type'])

        request.add_params(params)
        request.add_fields(fields)

        if batch is not None:
            request.add_to_batch(batch)
            return request
        elif pending:
            return request
        else:
            self.assure_call()
            return request.execute()
Esempio n. 5
0
    def get_user_permissions(self,
                             fields=None,
                             params=None,
                             batch=None,
                             pending=False):
        param_types = {}
        enums = {}
        request = FacebookRequest(
            node_id=self['id'],
            method='GET',
            endpoint='/userpermissions',
            api=self._api,
            param_checker=TypeChecker(param_types, enums),
            target_class=AbstractCrudObject,
            api_type='EDGE',
            response_parser=ObjectParser(target_class=AbstractCrudObject),
        )

        # TODO: Create an actual object instead of using AbstractCrudObject with this list..
        request._accepted_fields = list(request._accepted_fields)
        request._accepted_fields.extend([
            'business_persona', 'status', 'user', 'role', 'email',
            'created_by', 'updated_by', 'created_time', 'updated_time',
            'page_permissions', 'adaccount_permissions'
        ])

        request.add_params(params)
        request.add_fields(fields)

        if batch is not None:
            request.add_to_batch(batch)
            return request
        elif pending:
            return request
        else:
            self.assure_call()
            return request.execute()