What was working for me was getAccount not getCurrentAccount. If I use LC's library with getCurrentAccount, I get the same error. 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.
On Wed, Oct 11, 2017 at 6:23 AM, Ben Rubinstein via use-livecode < [email protected]> 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 >>> [email protected] >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> >> _______________________________________________ >> use-livecode mailing list >> [email protected] >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> > _______________________________________________ > use-livecode mailing list > [email protected] > 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." _______________________________________________ use-livecode mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode
