Send correct data when using OAuth

Currently, this is slightly broken, which causes strange, transient problems. This is because the internal format of Requests' data is slightly different to what we're expecting, plus we're sending a header incorrectly.