Hello Matt,

This is Ari again.
I am developing desktop application referring:
http://dev.twitter.com/pages/auth

It says just above "OAUTH AUTHENTICATION FLOW" that
"The flow varies slightly when using a desktop application
with what's called the "PIN-mode flow" or exchanging login credentials
using xAuth.

In the last part of "Sending the user to authorization" section,
it also says "We'll see how the PIN code is used in the next step."
But I cannot find any explanation of PIN code usage anywhere.

I wonder I should use PIN code as oauth_verifier.
Is it right?
I am looking forward to hear your kind advice.

Thanks in advance,
Ari


Matt Harris wrote (2011/06/25 4:35):
> Hey Ari,
>
> It's great to hear you worked this out and got it working. Also, thank
> you for sharing the solution that worked for you.
>
> Best,
> @themattharris
> <https://twitter.com/intent/follow?screen_name=themattharris>
> Developer Advocate, Twitter
>
>
>
> 2011/6/23 Ari Endo <arien...@gmail.com <mailto:arien...@gmail.com>>
>
>     Dear Matt,
>
>     Your question solved my problem.
>     Actually, the signature itself and signature part in authorization
>     header were different!
>
>     I have urlencoded the signature and again urlencoded the
>     authorization header.
>     As a result, signature was urlencoded twice which came different
>     from once urlencoded signature.
>     I have been thinking it makes no harm urlencoding many times, but
>     it was not.
>
>     By urlencoding authorization header except the signature part, I
>     have got 200 OK.
>
>     Thank you so much for your kind support. Say thank you to Tom as well.
>     As I am a newcomer to twitter application development,
>     please help me again when I might come across other troubles ahead.
>
>     Sincely,
>     Ari Endo
>
>
>     Matt Harris wrote (2011/06/24 9:21):
>>     Hi Ari,
>>
>>     I'm not familiar with VBA enough to comment on the code, but if
>>     you could provide an example of the basestring created,
>>     authorization header and signature (remember to exclude any
>>     secrets) then we can take a look at what could be going wrong.
>>
>>     Best,
>>     @themattharris
>>     <https://twitter.com/intent/follow?screen_name=themattharris>
>>     Developer Advocate, Twitter
>>
>>
>>
>>     2011/6/23 Ari Endo <arien...@gmail.com <mailto:arien...@gmail.com>>
>>
>>         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
>>         <https://groups.google.com/forum/#%21forum/twitter-development-talk>
>>
>>
>>     -- 
>>     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
>>     <https://groups.google.com/forum/#%21forum/twitter-development-talk>
>
>     -- 
>     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
>     <https://groups.google.com/forum/#%21forum/twitter-development-talk>
>
>
> -- 
> 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
> <https://groups.google.com/forum/#%21forum/twitter-development-talk>

-- 
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