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." _______________________________________________ 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