Automatically fill custom field value on post publish/update

I’ve searched around a bit, and I’m having trouble finding an answer to this question. What I’m trying to do is automatically fill a custom field when a post (custom post type) is updated or published. Ideally the completed script will call out to an API and fill the custom field with the resulting information whenever a post is created or updated. For right now though, I’m just trying to automatically fill my custom field with a simple string for testing. Here’s my code:

Allowing users to edit only their page and nobody else’s

We currently have about 50 pages, each of which I want a user (eg, bob, rob, smith) to be able to edit only 1 page. For example, bob & smith each have their own page. I do not want bob to be able to edit smith’s page. I want bob to ONLY be able to edit bob’s page. I don’t care if he can see other pages.
Looking through the user roles, I don’t see a way to currently to do this- I only see how to allow restrict access on a global scale.