Ben, I updated the library and pushed it to my repo. Let me know if that makes everything work before I do a PR with LC https://github.com/macMikey/LCDropboxLibrary
Try it in 8, including the script file as a subscript. If you want to use it in 9, copy/paste it into your stack script. On Wed, Oct 11, 2017 at 9:23 AM, Mike Kerner <mikeker...@roadrunner.com> wrote: > 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 <mikeker...@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@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@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@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@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@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@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@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." > -- 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." _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode