The nova API v 2.10 added the ability to create a keypair for another user:
https://docs.openstack.org/api-ref/compute/?expanded=list-keypairs-detail,show-keypair-details-detail#create-or-import-keypair
The user_id for a keypair. This allows administrative users to upload keys for other users than themselves.
The gophercloud library currently does not support this functionality. I would like to contribute a pull request that adds this support.