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

Reply via email to