How to use view_center_camera for fitting camera to 3D view? This function is supposedly the one for fitting the camera to 3D view with python(with mouse cursor hovering over the 3d view): 

import bpy
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        if bpy.ops.view3d.view_center_camera.poll()
            bpy.ops.view3d.view_center_camera()


Hitting home keyboard-button activates view_center_camera function and does what it is supposed to, so the function seems correct and working. 

It just doesn't work when I call the function from Python(like mentioned above). What is the correct way?
This code works in 2.80:
import bpy

def find_3d_area():
    for area in bpy.context.window.screen.areas:
        if area.type == 'VIEW_3D':
            return area

area = find_3d_area()
if area:
    override = {
        'area': area,
        'region': area.regions[0],
    }
    if bpy.ops.view3d.view_center_camera.poll(override):
        bpy.ops.view3d.view_center_camera(override)

Blender operators have optional parameter &quot;context&quot;. In almost all cases, you don't need to override it, but this case is somewhat special.
In this case, you have to override area and region. I'm not able to explain into the deep why exactly these two keys are needed. It's only the result of my debugging inside C code of Blender, and trial/error in Python.