It's my own understanding that NewHTTPPost isn't a valid routine.
NewHTTP is
Function NewHttp(url As String,port=invalid As Dynamic,method="GET" As String) As Object
So what you would do to initiate a post would be
http=NewHttp("
https://api.twitter.com/1.1/statuses/update.json",invalid,"POST")
and then you would add your parameter you want for 'status'
http.AddParam("status","Hello")
Because the method was "POST", the parameters and oauth signing and everything gets alphabetized, encoded, and shoved into the body of the post request to the url.
Setting the oa.sign(http,true) or oa.sign(http,false) or oa.sign(http,false,true) or any combination of true/false for all three variables for that routine don't give me anything other than a 400 response code.
Your postfromstringwithtimeout line is what I think is correct to use there, as intended, but nothing seemed to make a difference there either, even setting the timeout to 1000 or changing the string as well.
I think it's broken.
😞My app name on twitter is correct, the keys are correct, the allow read and write access is checked and I generated new keys, etc etc... If anyone is able to send a tweet through roku at all, I'd be most grateful.