Dear Tom,

Here is my vba code, just for your information.
It returns 401 Unauthorized,
Failed to validate oauth signature and token

I appreciate if you give me a hint.

-------------------------------------------------
Private Sub cbRequestToken_Click()

    Const urlRequestToken As String =
"https://api.twitter.com/oauth/request_token";
    Const oauth_consumer_secret As String = "(my consumer secret)"
        Dim timestamp As Long
        Dim strBase As String
        timestamp = DateDiff("s", #1/1/1970#, DateAdd("h", -9, Now))
        Dim param As New Scripting.Dictionary (hash array)
        param("oauth_callback") = "oob"
        param("oauth_consumer_key") = "(my consumer key)"
        param("oauth_nonce") = CStr(timestamp + 1)
        param("oauth_signature_method") = "HMAC-SHA1"
        param("oauth_timestamp") = CStr(timestamp)
        param("oauth_version") = "1.0"

        strBase = "POST&" & urlEncode(urlRequestToken) & "&" &
urlEncode(sortedParamConnected(param))
        param("oauth_signature") =
urlEncode(hmac_sha1(oauth_consumer_secret & "&", strBase))

        Dim strHeader As String
        strHeader = "OAuth "
        Dim i As Integer
        For i = 0 To param.Count - 1
            strHeader = strHeader & param.Keys(i) & "=""" &
urlEncode(param.Items(i)) & """"
            If i < param.Count - 1 Then strHeader = strHeader & ", "
        Next

        Dim xmlhttp As New MSXML2.xmlhttp
        xmlhttp.Open "POST", urlRequestToken, False
        xmlhttp.setRequestHeader "Authorization", strHeader
        xmlhttp.send

        If xmlhttp.statusText <> "OK" Then Exit Sub

    End Sub

There are several Excel VBA application which can be authenticated.
The point is they make a twitter class and make an object to access.
I am developing without using class (object-oriented).

1. my time is correct (UTC)
2. my signature is correct (compared with the sample in twitter
documentation)
3. when URL is https://api.twitter.com/1/, 404 Not found came back

Thank you in advance,
Ari


Tom van der Woerdt schrieb (2011/06/11 9:21):
> A desktop authentication flow usually includes a callback with a
> custom scheme (myapp://redirect) or xAuth, while a server application
> will usually use a normal callback (http://example.com/callback) with
> the normal OAuth flow.
>
> However, this won't cause the "Woah there!" error you get. Just like
> anything else related to the programming itself: Twitter doesn't
> discriminate by programming language. As long as you are using the API
> correctly, it's fine.
>
> To answer your initial question: you can use C (non-object oriented
> language) and C++ (object-oriented language) and many other languages
> to interface with Twitter. It's an API, so it's all the same, as long
> as you can make a HTTP request.
>
> Tom
>
>
> On 6/11/11 2:17 AM, Ari Endo wrote:
>> Dear Tom,
>>
>> Thank you for your quick support.
>> I have checked all the items you listed below.
>>
>> What I would like to know is information for desktop application
>> different from server application.
>>
>> I would appreciate if you tell me any.
>> Thank you in advance,
>>
>> Ari
>>
>> Tom van der Woerdt さんは書きました (2011/06/10 17:50):
>>> I just checked and I was wrong - "Woah there!" can mean a lot of
>>> thnigs.
>>>
>>> 1. Make sure that your time is right
>>> 2. Make sure that the signature you make is right
>>> 3. Make sure that your endpoint starts with https://api.twitter.com/1/
>>> 4. Make sure that you use valid credentials
>>> 5. Make sure that you are supplying all the required parameters
>>> 6. Make sure that your nonce is correct
>>> 7. Make sure everything else is correct
>>>
>>> Tom
>>>
>>>
>>> On 6/10/11 10:45 AM, Ari Endo wrote:
>>>> Dear Tom,
>>>>
>>>> Never ever did I hit the rate limit.
>>>> I call only once to get the authentication token.
>>>>
>>>> At most, only several times for trials.
>>>> Thank you for your reply,
>>>>
>>>> Ari
>>>>
>>>> Tom van der Woerdt wrote (2011/06/10 17:38):
>>>>> "Woah there" - sounds like you are hitting a rate limit. If you don't
>>>>> authenticate your calls, you may only make 150 API calls per hour.
>>>>>
>>>>> Tom
>>>>>
>>>>> On 6/10/11 12:54 AM, ari_endo wrote:
>>>>>> Hello, I am developing Twitter AP with Excel VBA.
>>>>>> When accessing with an object generated from twitter class, it
>>>>>> works.
>>>>>> But only with XMLHttpRequest (without object) it gets "Woah there"
>>>>>> message.
>>>>>>
>>>>>> Is object-oriented programming needed when developing desktop
>>>>>> applications?
>>>>>> I need reference for desktop application.
>>>>>> I appreciate if any site is introduced.
>>>>>>
>>>>>> Thank you in advance,
>>>>>> Ari Endo
>>>>>>
>

-- 
Twitter developer documentation and resources: https://dev.twitter.com/doc
API updates via Twitter: https://twitter.com/twitterapi
Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list
Change your membership to this group: 
https://groups.google.com/forum/#!forum/twitter-development-talk

Reply via email to