Dropbox library (LC 9) - does dropboxGetCurrentAccount work?

Ben Rubinstein benr_mc at cogapp.com
Wed Oct 11 08:27:36 EDT 2017


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




More information about the use-livecode mailing list