Hubic

I think I have set up the Hubic developer stuff correctly and have got the Key and Secret Key.



Now in the TMS Demo App I can't get it to connect.



What should I use for the HubicCallBack?



I have tried http://localhost/ but I don't know if this is correct or even if this is the problem.



Any help much appreciated



Graham

Hi,


If http://localhost is not working as a redirect domain you can pick any valid https domain.
For example: https://www.tmssoftware.com/

Then you can use a specific page on that domain as CallBackURL.
For example: https://www.tmssoftware.com/site/default.asp

I need to know exactly what to set up in the Hubic developer configuration and what to set in the demo program.

Your example CallBackURL does not seem to work with or without a / at the end.



I just want this to work in the same way as DropBox etc. as follows:



Click Connect

Type in the login details

The Auth form closes and returns to my application.



Any more sugggestions?



Graham

Can you please make sure the port number is included in the redirect domain of your Hubic developer configuration?


Redirection domain: http://localhost:8888/

In the CloudStorage Demo, make sure the CallBackPort and CallBackURL are identical to the redirect domain value.

App.CallBackPort := 8888;
App.CallBackURL := 'http://localhost:8888/'

I have retested this with the values as indicated above and the CloudStorage Demo is working as expected.

Well it's getting better with the 8888 added.

Now what happens is that before it asks you for the login details for the authorization, you get a couple of JSON error screens pop up. If you click through these and then enter the login details all appears to be fine.

Unfortunately this issue is caused by the login page from Hubic which does not properly support the IE version that is emulated by the TWebBrowser control. You can force your app to use a newer emulated IE version in the Windows registry by adding the executable name at the following location in the registry:

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

Detailed information can be found here:
https://msdn.microsoft.com/en-us/library/ee330730(VS.85).aspx#browser_emulation

OK, not a problem. Now on to the next issue.



Login to Hubic and the directory structure is displayed.

Navigate down to some empty folder and try and delete it.

Boom... exception generated.



The problem appears to be in "CloudCustomOpenStack"



Possible bodge fix shown below:



if Assigned(Item) then

begin

    //Only empty folders may be deleted.

    //If the item is a folder, first delete all subfolders and files

    if (Assigned(Item.Folder)) and //ADDED THIS BECAUSE IT'S NIL IN THIS CASE

       (Item.ItemType = ciFolder) then

    begin

      for I := 0 to Item.Folder.Count - 1 do

        Delete(Item.Folder.Items);

    end;



    url := FOpenStackEndpoint + '/' + FOpenStackContainer + '/' + (ci as TOpenStackItem).ID;



    AddHeader(headers, 'X-Auth-Token', FopenStackToken);

    res := HttpsDelete(extractserver(url), removeserver(url), headers, resdat);



    if (res = 204) then

    begin

      Result := true;

    end;

end;





This issue was fixed internally.
The update will be available with the next release of the TMS Cloud Pack.

OK, thanks.

There is also an issue with uploading a file to an empty folder. It looks like a similar problem.

Issues with empty folders have been fixed.
The update will be available with the next release of the TMS Cloud Pack.