Example #1
0
def refreshgoogleauthflow(request):
    course_code = request.GET.get('course_code')
    channelIds = request.GET.get('channelIds')
    platform = courseId = request.GET.get('platform')

    user = request.user
    youtube_plugin = settings.DATAINTEGRATION_PLUGINS['YouTube']

    redirecturl= 'http://' + get_current_site(request).domain + '/dataintegration/ytAuthCallback'

    # store request data in temp table
    # there is no other way to send these with the url (in querystring) as the return url must be registered
    # and session var won't save due to redirect
    twitter_id, fb_id, forum_id, google_id, github_id, trello_id = get_smids_fromuid(user.id)
    t = OauthFlowTemp.objects.filter(googleid=google_id).delete()
    temp_transfer_data = OauthFlowTemp(googleid=google_id, course_code=course_code, platform=platform, transferdata=channelIds)
    temp_transfer_data.save()

    FLOW_YOUTUBE = OAuth2WebServerFlow(
        client_id=youtube_plugin.api_config_dict['CLIENT_ID'],
        client_secret=youtube_plugin.api_config_dict['CLIENT_SECRET'],
        scope=youtube_plugin.scope,
        redirect_uri=redirecturl
    )

    authUri = FLOW_YOUTUBE.step1_get_authorize_url()
    #Redirect to REDIRECT_URI
    return HttpResponseRedirect(authUri)
Example #2
0
def refreshgoogleauthflow(request):
    course_id = request.GET.get('course_id')
    channel_ids = request.GET.get('channel_ids')
    platform = request.GET.get('platform')
    unit = None
    try:
        unit = UnitOffering.objects.get(id=course_id)
    except UnitOffering.DoesNotExist:
        raise Http404

    user = request.user
    platform_plugin = settings.DATAINTEGRATION_PLUGINS[platform]

    #print 'Got youtube plugin: %s' % (platform_plugin)
    #print 'With client ID and Secret key: %s and %s' % (platform_plugin.api_config_dict['CLIENT_ID'], platform_plugin.api_config_dict['CLIENT_SECRET'])

    # store request data in temp table
    # there is no other way to send these with the url (in querystring) as the return url must be registered
    # and session var won't save due to redirect
    twitter_id, fb_id, forum_id, blog_id, google_id, github_id, trello_id = get_smids_fromuid(
        user.id)
    t = OauthFlowTemp.objects.filter(user=request.user).delete()
    temp_transfer_data = OauthFlowTemp(platform=platform,
                                       transferdata=channel_ids,
                                       unit=unit,
                                       user=request.user)
    temp_transfer_data.save()

    client_id = ''
    client_secret = ''
    redirecturl = ''
    if platform == xapi_settings.PLATFORM_YOUTUBE:
        client_id = os.environ.get("YOUTUBE_CLIENT_ID")
        client_secret = os.environ.get("YOUTUBE_CLIENT_SECRET")
        redirecturl = get_youtube_callback_url(request)
    else:
        # When other Google service is integrated, there will be code here
        return HttpResponseServerError

    FLOW_YOUTUBE = OAuth2WebServerFlow(client_id=client_id,
                                       client_secret=client_secret,
                                       scope=platform_plugin.scope,
                                       redirect_uri=redirecturl)

    authUri = FLOW_YOUTUBE.step1_get_authorize_url()
    #Redirect to REDIRECT_URI
    return HttpResponseRedirect(authUri)
Example #3
0
def refreshgoogleauthflow(request):
    course_id = request.GET.get('course_id')
    channel_ids = request.GET.get('channel_ids')
    platform = request.GET.get('platform')
    unit = None
    try:
        unit = UnitOffering.objects.get(id=course_id)
    except UnitOffering.DoesNotExist:
        raise Http404

    user = request.user
    platform_plugin = settings.DATAINTEGRATION_PLUGINS[platform]

    #print 'Got youtube plugin: %s' % (platform_plugin)
    #print 'With client ID and Secret key: %s and %s' % (platform_plugin.api_config_dict['CLIENT_ID'], platform_plugin.api_config_dict['CLIENT_SECRET'])

    # store request data in temp table
    # there is no other way to send these with the url (in querystring) as the return url must be registered
    # and session var won't save due to redirect
    twitter_id, fb_id, forum_id, blog_id, google_id, github_id, trello_id = get_smids_fromuid(user.id)
    t = OauthFlowTemp.objects.filter(user = request.user).delete()
    temp_transfer_data = OauthFlowTemp(platform=platform, transferdata=channel_ids, unit=unit, user = request.user)
    temp_transfer_data.save()

    client_id = ''
    client_secret = ''
    redirecturl = ''
    if platform == xapi_settings.PLATFORM_YOUTUBE:
        client_id = os.environ.get("YOUTUBE_CLIENT_ID")
        client_secret = os.environ.get("YOUTUBE_CLIENT_SECRET")
        redirecturl = get_youtube_callback_url(request)
    else:
        # When other Google service is integrated, there will be code here
        return HttpResponseServerError

    FLOW_YOUTUBE = OAuth2WebServerFlow(
        client_id = client_id,
        client_secret = client_secret,
        scope = platform_plugin.scope,
        redirect_uri = redirecturl
    )

    authUri = FLOW_YOUTUBE.step1_get_authorize_url()
    #Redirect to REDIRECT_URI
    return HttpResponseRedirect(authUri)
Example #4
0
def process_trello(request):
    token = request.GET.get("token")
    key = request.GET.get("key")

    trello_member_url = 'https://api.trello.com/1/tokens/%s/member?key=%s' % (token, key)

    #Get trello member ID
    r = requests.get(trello_member_url)
    #print "got response %s" % r.json()
    member_json = r.json()
    member_id = member_json['id']

    token_storage = OauthFlowTemp(googleid=member_id, transferdata=token, platform='trello')
    token_storage.save()

    request.session['trello_memberid'] = member_id

    return Response(member_id)