def upload_to_sfdc(request): gmail_service = Google.get_gmail_service(request.session['user_id']) attachment_id = request.GET['att_id'] message_id = request.GET['msg_id'] file_name = request.GET['file_name'] attachment = gmail_service.users().messages().attachments().get(userId='me', messageId=message_id, id=attachment_id).execute() file_data = attachment['data'] if file_data: sf_auth = Salesforce.objects.get(user__id=request.session['user_id']) Sfdc.insert_document(sf_auth, file_name, file_data) return HttpResponse('success')
def list_threads(request): gmail_service = Google.get_gmail_service(request.session['user_id']) query = request.GET['query'] user_id = 'me' threads_resp = gmail_service.users().threads().list(userId=user_id, q=query).execute() threads = threads_resp['threads'] if 'threads' in threads_resp else [] threads_with_messages = [] for thread in threads: # do a get on thread using id to fill messages thread = gmail_service.users().threads().get(userId=user_id, id=thread['id']).execute() messages = thread['messages'] parsed_messages = [] if messages: # parse the message content for message in messages: parsed_messages.append(parse_message(message)) thread['messages'] = parsed_messages threads_with_messages.append(thread) data = json.dumps(threads_with_messages) return HttpResponse(data, mimetype='application/json')