Your code looks fine – the model is just missing information. When troubleshooting a model you should start with a viewer, to eliminate possible sources of error (i.e. if the glTF file appears wrong in a “good” glTF viewer, the problem is in the model not your code).
The droplets are missing in all of them. So this is a bug in Sketchfab’s export, or Sketchfab supports a feature that it cannot export to glTF. Probably a bit of both.
Investigating further in Blender, if you select everything you’ll see the wireframe of the droplets there, but select them and then look at their material and the alpha property is 0. This will make them invisible. You can find the same information in three.js with:
It won’t look as good as the Sketchfab render, because we don’t yet support the (unfinished) glTF extension for physically-based transparency, KHR_materials_transmission. You might be able to get a bit closer by switching the material to MeshPhysicalMaterial and setting .transparency instead of .opacity, but I’m not sure how well that will work.
If you switched the material to THREE.MeshPhysicalMaterial i think you’d get something like the screenshot below. Note that the droplets refract the environment, not the can itself, so they look more silver than actually transparent. This screenshot is created in Blender but I’d expect something similar in three.js:
Blender supports screen space refraction, as well, which is what you actually want here. However, I don’t think three.js can do that yet, or not with any default materials. The result with that enabled in Blender is better: