<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Sign In via access token without login page in Dropbox API Support &amp; Feedback</title>
    <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/210075#M10460</link>
    <description>&lt;P&gt;[Cross-linking for reference:&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/42622883/swifty-dropbox-sign-in-via-access-token" target="_blank"&gt;https://stackoverflow.com/questions/42622883/swifty-dropbox-sign-in-via-access-token&lt;/A&gt; ]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The API was designed with the intention that each user would link their own Dropbox account, in order to interact with their own files. However, it is technically possible to connect to just one account. The SDKs don't offer explicit support for it and we don't recommend doing so, for various technical and security reasons.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However if you did want to go this route, instead of kicking off the authorization flow, you would manually use an existing access token for your account and app, as you're trying to here. (Just be careful not to revoke it, e.g. via &lt;A href="https://www.dropbox.com/account/security" target="_blank"&gt;https://www.dropbox.com/account/security&lt;/A&gt; .)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As far as the actual issue you're running in to, I suspect the issue is that you're constructing the client object and making the call, but then the client object is going out of scope before the response can come&amp;nbsp;back. Make sure you keep your client object around. For example, you can use&amp;nbsp;authorizedClient to store it, like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;DropboxClientsManager.authorizedClient&amp;nbsp;=&amp;nbsp;DropboxClient.init(accessToken: "...")&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And then use the client via&amp;nbsp;DropboxClientsManager.authorizedClient.&lt;/P&gt;</description>
    <pubDate>Mon, 06 Mar 2017 18:52:17 GMT</pubDate>
    <dc:creator>Greg-DB</dc:creator>
    <dc:date>2017-03-06T18:52:17Z</dc:date>
    <item>
      <title>Sign In via access token without login page</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/209990#M10451</link>
      <description>&lt;P&gt;I created new account and uploaded some pictures. I also created Access Token. Users haven't dropbox account and I want to display these pictures in my application. Can I do this without login page?&lt;/P&gt;&lt;P&gt;It works good with login page:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="typ"&gt;DropboxClientsManager&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;authorizeFromController&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;UIApplication&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;shared&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;                                                      controller&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;self&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;                                                      openURL&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;url&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; URL&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;-&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="typ"&gt;Void&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;
                                                      &lt;SPAN class="typ"&gt;UIApplication&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;shared&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;openURL&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;url&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;
        &lt;SPAN class="pun"&gt;})&lt;/SPAN&gt;
&lt;SPAN class="kwd"&gt;let&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; client &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt; &lt;SPAN class="typ"&gt;DropboxClientsManager&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;authorizedClient&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But doesn't work with access token only:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="kwd"&gt;let&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; client &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt; &lt;SPAN class="typ"&gt;DropboxClient&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;init&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;accessToken&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"..."&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="pln"&gt;client&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;?.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;files&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;download&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;path&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"/pics"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;response &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; response&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; error &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;
                &lt;SPAN class="kwd"&gt;if&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;let&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; response &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; response &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;
                    &lt;SPAN class="kwd"&gt;let&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; responseMetadata &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; response&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;
                    &lt;SPAN class="kwd"&gt;print&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;responseMetadata&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;
                    &lt;SPAN class="kwd"&gt;let&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; fileContents &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; response&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;1&lt;/SPAN&gt;
                    &lt;SPAN class="kwd"&gt;print&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;fileContents&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;else&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;if&lt;/SPAN&gt; &lt;SPAN class="kwd"&gt;let&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; error &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; error &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;
                    &lt;SPAN class="kwd"&gt;print&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;error&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;
            &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;
            &lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;progress &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; progressData &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;
                &lt;SPAN class="kwd"&gt;print&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;progressData&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;
        &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="post-text"&gt;&lt;P&gt;I got error: &lt;STRONG&gt;Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=&lt;A href="https://api-content.dropbox.com/2/files/download" target="_blank" rel="nofollow noreferrer"&gt;https://api-content.dropbox.com/2/files/download&lt;/A&gt;, NSErrorFailingURLStringKey=&lt;A href="https://api-content.dropbox.com/2/files/download" target="_blank" rel="nofollow noreferrer"&gt;https://api-content.dropbox.com/2/files/download&lt;/A&gt;, NSLocalizedDescription=cancelled}&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 May 2019 09:25:06 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/209990#M10451</guid>
      <dc:creator>Kirill</dc:creator>
      <dc:date>2019-05-29T09:25:06Z</dc:date>
    </item>
    <item>
      <title>Re: Sign In via access token without login page</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/210075#M10460</link>
      <description>&lt;P&gt;[Cross-linking for reference:&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/42622883/swifty-dropbox-sign-in-via-access-token" target="_blank"&gt;https://stackoverflow.com/questions/42622883/swifty-dropbox-sign-in-via-access-token&lt;/A&gt; ]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The API was designed with the intention that each user would link their own Dropbox account, in order to interact with their own files. However, it is technically possible to connect to just one account. The SDKs don't offer explicit support for it and we don't recommend doing so, for various technical and security reasons.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However if you did want to go this route, instead of kicking off the authorization flow, you would manually use an existing access token for your account and app, as you're trying to here. (Just be careful not to revoke it, e.g. via &lt;A href="https://www.dropbox.com/account/security" target="_blank"&gt;https://www.dropbox.com/account/security&lt;/A&gt; .)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As far as the actual issue you're running in to, I suspect the issue is that you're constructing the client object and making the call, but then the client object is going out of scope before the response can come&amp;nbsp;back. Make sure you keep your client object around. For example, you can use&amp;nbsp;authorizedClient to store it, like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;DropboxClientsManager.authorizedClient&amp;nbsp;=&amp;nbsp;DropboxClient.init(accessToken: "...")&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And then use the client via&amp;nbsp;DropboxClientsManager.authorizedClient.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Mar 2017 18:52:17 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/210075#M10460</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2017-03-06T18:52:17Z</dc:date>
    </item>
    <item>
      <title>Re: Sign In via access token without login page</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/327424#M19179</link>
      <description>&lt;P&gt;This one helped me a lot (my test code worked but when I moved it into the application, I trippde and fell like the OP. Thanks!&lt;/P&gt;</description>
      <pubDate>Wed, 06 Feb 2019 20:32:11 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Sign-In-via-access-token-without-login-page/m-p/327424#M19179</guid>
      <dc:creator>TotteAlm</dc:creator>
      <dc:date>2019-02-06T20:32:11Z</dc:date>
    </item>
  </channel>
</rss>

