Dropbox library (LC 9) - does dropboxGetCurrentAccount work?

Mike Kerner MikeKerner at roadrunner.com
Wed Oct 11 09:23:35 EDT 2017


And, curiously, as it turns out, the other endpoints that take a null post
accept empty (and don't like getting "null").  It seems this only affects
getCurrentAccount.

On Wed, Oct 11, 2017 at 8:52 AM, Mike Kerner <MikeKerner at roadrunner.com>
wrote:

> What Gerard did in the original library is use the word "null" instead of
> empty.  So his version of __get_current_account_POST would be
> private function __get_current_account_POST
> return "null"
> end get_current_account_POST
>
> For some reason, empty doesn't work, but anything (inluding the word
> "null") works.
>
> Before I make the PR I'm going to see if anything else breaks by doing
> that, and I'm also going to add the rest of the error message, that gets
> dropped.
>
>
> On Wed, Oct 11, 2017 at 8:27 AM, Ben Rubinstein via use-livecode <
> use-livecode at lists.runrev.com> wrote:
>
>> 20555 for POST; 20556 for dropboxGetCurrentAccount.
>>
>> I have found the bug in LC's library, and I patched it to get it to work,
>>> but I want to understand more of why, and also to make sure I'm not going
>>> to break something else before I issue a pull request.
>>>
>>
>> How are you patching it to work? I can't see any way of issuing a POST
>> request in LC code (without using curl, which won't work on mobile) that
>> gets round this problem.
>>
>>
>> On 11/10/2017 11:58, Mike Kerner via use-livecode wrote:
>>
>>> Feel like opening a couple QR's?  I think we need two:  one for post and
>>> one for the error in the library.
>>> In fact, there are two problems in the library.  One is the way the
>>> library
>>> handles errors returned by dropbox (you only get half the error message),
>>> and the other is the way endpoints like this one are handled.  Hopefully
>>> I'll have both of those patched and up to my repo and the PR submitted,
>>> today.
>>> If you want, you can also patch the library code, but if you do, I'd
>>> suggest moving your project to LC8 and including the patched library
>>> stack
>>> as a substack.
>>>
>>> On Wed, Oct 11, 2017 at 6:45 AM, Ben Rubinstein via use-livecode <
>>> use-livecode at lists.runrev.com> wrote:
>>>
>>> You beat me to it!
>>>>
>>>>
>>>> On 11/10/2017 11:23, Ben Rubinstein via use-livecode wrote:
>>>>
>>>> Hi Mike (or anyone else)
>>>>>
>>>>> Can you confirm that dropboxGetCurrentAccount (NOT dropboxGetAccount)
>>>>> is
>>>>> working for you in LC 9.0.0 dp 9?
>>>>>
>>>>> It consistently fails for me, and the problem seems to be precisely the
>>>>> lack of a parameter other than the access token.
>>>>>
>>>>> Dropbox returns a 400, AFAICT, precisely because the POST is empty.
>>>>> Fiddling with this in curl, I find that
>>>>>
>>>>> $ curl -X POST https://api.dropboxapi.com/2/users/get_current_account
>>>>> \
>>>>>      --header "Authorization: Bearer <Access Token>"
>>>>>
>>>>> works and returns the expected data; but
>>>>>
>>>>> $ curl -X POST https://api.dropboxapi.com/2/users/get_current_account
>>>>> \
>>>>>      --header "Content-Type: application/json" \
>>>>>      --header "Authorization: Bearer <Access Token>" \
>>>>>      --data-ascii ""
>>>>>
>>>>> which is roughly what LC is doing, fails with 400 Bad Request.
>>>>>
>>>>> In other words, it seems that Dropbox requires this call to be made as
>>>>> a
>>>>> POST with no data at all; and that what LiveCode does when posting
>>>>> empty to
>>>>> a URL is a post with a content-length of 0 - and Dropbox won't accept
>>>>> it.
>>>>>
>>>>> So I'm puzzled as to how this is working for you. Are you using a
>>>>> different version of DP9 with a different tsNet version perhaps?
>>>>>
>>>>> TIA,
>>>>>
>>>>> Ben
>>>>>
>>>>> On 11/10/2017 08:05, Ben Rubinstein via use-livecode wrote:
>>>>>
>>>>> Hi Mike,
>>>>>>
>>>>>> Thanks for checking. According to the Dictionary,
>>>>>> dropboxGetCurrentAccount only takes one parameter
>>>>>>       dropboxGetCurrentAccount pAccessToken, [pCallback]
>>>>>>
>>>>>> if it's supposed to take two, that would explain the 400 error! But
>>>>>> how
>>>>>> does one obtain the account_id in the first place?
>>>>>>
>>>>>> I'm really only wanting to make this call because it looked liked the
>>>>>> cheapest way to find out if the app has a valid token for Dropobox; I
>>>>>> can
>>>>>> either display the account it's logged in to, or a button offering to
>>>>>> log
>>>>>> in. Is there another way?
>>>>>>
>>>>>> Many thanks,
>>>>>>
>>>>>> Ben
>>>>>>
>>>>>> On 11/10/2017 01:49, Mike Kerner via use-livecode wrote:
>>>>>>
>>>>>> It works for me in both 8 and 9.
>>>>>>> The only way I get error 400 is if I enclose the arguments in
>>>>>>> parenthesis
>>>>>>> (which tells LC that all of that goodness goes into the first
>>>>>>> parameter)
>>>>>>> Remember, this is a command, not a function, so the arguments are not
>>>>>>> enclosed:
>>>>>>>
>>>>>>> dropboxGetCurrentAccount oauthToken, account_id
>>>>>>> if the result is not empty then
>>>>>>> answer the result
>>>>>>> exit to top
>>>>>>> else #the result is empty
>>>>>>> answer it
>>>>>>> end if #the result is not empty
>>>>>>> _______________________________________________
>>>>>>> use-livecode mailing list
>>>>>>> use-livecode at lists.runrev.com
>>>>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>>>>> subscription preferences:
>>>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>> use-livecode mailing list
>>>>>> use-livecode at lists.runrev.com
>>>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>>>> subscription preferences:
>>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>> use-livecode mailing list
>>>>> use-livecode at lists.runrev.com
>>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>>> subscription preferences:
>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>>
>>>>>
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>
>>>>
>>>
>>>
>>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
>
>
> --
> On the first day, God created the heavens and the Earth
> On the second day, God created the oceans.
> On the third day, God put the animals on hold for a few hours,
>    and did a little diving.
> And God said, "This is good."
>



-- 
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."



More information about the use-livecode mailing list