Fixed duplicate oauth fetch along with DRY improvement #1858

Fixes the duplicate Oauth issue.
OK.  I think it would be safer to have the API enforce the single-threaded nature of this op, but I can live with this if you just add a comment on the setOAuth method.