Python Opengl Render doesn't show texture
If you can render from the GUI button I assume that you have the method to display/shade objects in the 3D view set to Texture. 

With that out of the way the only thing that you need to do is to set both the write_still and view_context to True like this: 

bpy.ops.render.opengl(animation=False, write_still=True, view_context=True)

If you only set one of them to True you get the solid display