Get User’s Facebook Photos as WordPress Upload

You can use media_sideload_image() which will take a link to a file and upload it to the media library. You do need to pass it some kind of $post_id @Sumit points out in the comments you could pass NULL into the $post_id field.

media_sideload_image(
    $file_url,
    $post_id,
    $image_desc,
    $return
);

If you need the uploaded image ID, take a look Tom J. Nowells answer using hooks