Пример #1
0
    def batch_fql(self, queries_dict):
        '''
        queries_dict a dict with the required queries
        returns the query results in:

        **Example**::

            response = facebook.batch_fql({
                name: 'SELECT uid, name, pic_square FROM user WHERE uid = me()',
                rsvp: 'SELECT uid, rsvp_status FROM event_member WHERE eid=12345678',
            })

            # accessing the results
            response['fql_results']['name']
            response['fql_results']['rsvp']

        :param queries_dict:
            A dictiontary of queries to execute

        :returns: dict
        '''
        query = json.dumps(queries_dict)
        query_results = self.fql(query)
        named_results = dict([(r['name'], r['fql_result_set'])
                              for r in query_results])

        return named_results
Пример #2
0
    def batch_fql(self, queries_dict):
        '''
        queries_dict a dict with the required queries
        returns the query results in:

        **Example**::

            response = facebook.batch_fql({
                name: 'SELECT uid, name, pic_square FROM user WHERE uid = me()',
                rsvp: 'SELECT uid, rsvp_status FROM event_member WHERE eid=12345678',
            })

            # accessing the results
            response['fql_results']['name']
            response['fql_results']['rsvp']

        :param queries_dict:
            A dictiontary of queries to execute

        :returns: dict
        '''
        query = json.dumps(queries_dict)
        query_results = self.fql(query)
        named_results = dict(
            [(r['name'], r['fql_result_set']) for r in query_results])

        return named_results
def facebook(request):
    """Context processor that includes some django_facebook-specific
    variables to templates context:
    
    - ``FACEBOOK_APP_ID`` - The ID of the Facebook application, as specified
      in the application settings. This is used by the JavaScript SDK.
    - ``FACEBOOK_SETTINGS`` - JSON-encoded object containing misc
      configuration settings for Facebook-related stuff.
    """
    context = {}
    from django_facebook import settings as fb_settings
    from open_facebook.utils import json
    context['FACEBOOK_APP_ID'] = fb_settings.FACEBOOK_APP_ID
    context['FACEBOOK_DEFAULT_SCOPE'] = fb_settings.FACEBOOK_DEFAULT_SCOPE

    default_scope_js = unicode(json.dumps(fb_settings.FACEBOOK_DEFAULT_SCOPE))
    default_scope_js = mark_safe(default_scope_js)
    context['FACEBOOK_DEFAULT_SCOPE_JS'] = default_scope_js
    
    context['FACEBOOK_CANVAS_HANDLING'] = fb_settings.FACEBOOK_CANVAS_HANDLING
    context['FACEBOOK_CANVAS_PAGE'] = fb_settings.FACEBOOK_CANVAS_PAGE
    
    _js_settings = {
        "app_id" : fb_settings.FACEBOOK_APP_ID,
        "app_secret": "CHUPAAA!!", ## We don't want to reveal app_secret!!
        "canvas_handling" : fb_settings.FACEBOOK_CANVAS_HANDLING,
        "canvas_page" : fb_settings.FACEBOOK_CANVAS_PAGE,
        "default_scope" : fb_settings.FACEBOOK_DEFAULT_SCOPE,
    }
    
    context['FACEBOOK_SETTINGS'] = json.dumps(_js_settings)
    
    _body_classes = []
    
    if getattr(request, 'fb_info', {}).get('is_canvas', False):
        _body_classes.append('canvas-page')
    else:
        _body_classes.append('stand-alone-page')
    
    context['FACEBOOK_BODY_CLASSES'] = " ".join(_body_classes)

    return context
Пример #4
0
def facebook(request):
    context = {}
    from django_facebook import settings as fb_settings
    from open_facebook.utils import json
    context['FACEBOOK_APP_ID'] = fb_settings.FACEBOOK_APP_ID
    context['FACEBOOK_DEFAULT_SCOPE'] = fb_settings.FACEBOOK_DEFAULT_SCOPE

    default_scope_js = str(json.dumps(fb_settings.FACEBOOK_DEFAULT_SCOPE))
    default_scope_js = mark_safe(default_scope_js)
    context['FACEBOOK_DEFAULT_SCOPE_JS'] = default_scope_js

    return context
Пример #5
0
def facebook(request):
    context = {}
    from django_facebook import settings as facebook_settings
    from open_facebook.utils import json
    context['FACEBOOK_APP_ID'] = facebook_settings.FACEBOOK_APP_ID
    context['FACEBOOK_DEFAULT_SCOPE'] = facebook_settings.FACEBOOK_DEFAULT_SCOPE
    
    default_scope_js = unicode(json.dumps(facebook_settings.FACEBOOK_DEFAULT_SCOPE))
    default_scope_js = mark_safe(default_scope_js)
    context['FACEBOOK_DEFAULT_SCOPE_JS'] = default_scope_js
    
    return context
Пример #6
0
    def batch_fql(self, queries_dict):
        """
        queries_dict a dict with the required queries
        returns the query results in:

        response['fql_results']['query1']
        response['fql_results']['query2']
        etc
        """
        query = json.dumps(queries_dict)
        query_results = self.fql(query)
        named_results = dict([(r["name"], r["fql_result_set"]) for r in query_results])

        return named_results
Пример #7
0
    def batch_fql(self, queries_dict):
        '''
        queries_dict a dict with the required queries
        returns the query results in:

        response['fql_results']['query1']
        response['fql_results']['query2']
        etc
        '''
        query = json.dumps(queries_dict)
        query_results = self.fql(query)
        named_results = dict(
            [(r['name'], r['fql_result_set']) for r in query_results])

        return named_results
Пример #8
0
def connect_async_ajax(request):
    '''
    Not yet implemented:
    The idea is to run the entire connect flow on the background using celery
    Freeing up webserver resources, when facebook has issues
    '''
    from django_facebook import tasks as facebook_tasks
    graph = get_persistent_graph(request)
    output = {}
    if graph:
        FacebookUserConverter(graph)
        task = facebook_tasks.async_connect_user(request, graph)
        output['task_id'] = task.id
    from open_facebook.utils import json
    json_dump = json.dumps(output)
    return HttpResponse(json_dump)
Пример #9
0
def connect_async_ajax(request):
    '''
    Not yet implemented:
    The idea is to run the entire connect flow on the background using celery
    Freeing up webserver resources, when facebook has issues
    '''
    from django_facebook import tasks as facebook_tasks
    graph = get_persistent_graph(request)
    output = {}
    if graph:
        facebook = FacebookUserConverter(graph)
        task = facebook_tasks.async_connect_user(request, graph)
        output['task_id'] = task.id
    from open_facebook.utils import json
    json_dump = json.dumps(output)
    return HttpResponse(json_dump)
Пример #10
0
 def set_share_dict(self, share_dict):
     share_dict_string = json.dumps(share_dict)
     self.share_dict = share_dict_string
Пример #11
0
 def set_share_dict(self, share_dict):
     share_dict_string = json.dumps(share_dict)
     self.share_dict = share_dict_string
Пример #12
0
    fb = require_persistent_graph(request)
    book = 'http://www.hoodpub.com/book/' + entry

    try:
        read = fb.set('/me/hoodpub:read', book=book)
        if read.has_key('id'):
            read = read['id']

    except open_facebook_exceptions.OAuthException, e:
        logger.info(e)
        print e
        read = 'dup'

    from open_facebook.utils import json
    json_dump = json.dumps(read)
    return HttpResponse(json_dump)


def example(request):
    context = RequestContext(request)
    facebook = require_persistent_graph(request)
    likes = facebook.get('me/likes')['data']
    context['likes'] = likes
    from user.models import FacebookPageTab

    signed_request = request.REQUEST.get('signed_request')

    data = facebook.prefetched_data
    page_id = data['page']['id']
    defaults = dict(created_by_user=data['user_id'])