<?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 Rate Limit Dropbox API in  Web application. in Dropbox API Support &amp; Feedback</title>
    <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Rate-Limit-Dropbox-API-in-Web-application/m-p/326497#M19132</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm hosting a web service that downloads images from the user's dropbox using a shared link. Think thousands of users.&amp;nbsp;&lt;/P&gt;&lt;P&gt;To download the images i use this piece of code:&lt;/P&gt;&lt;PRE&gt;private async Task&amp;lt;byte[]&amp;gt; GetDropboxByteArrayAsync(Metadata item, string sharedLink)
{

DropboxClient client = new DropboxClient(DropBoxKey);
SharedLink sl = new SharedLink(sharedLink, null);
var file = await client.Sharing.GetSharedLinkFileAsync(sl.Url, "/" + item.Name, null);

var fileAsByteArray = await file.GetContentAsByteArrayAsync();

return fileAsByteArray;
}&lt;/PRE&gt;&lt;P&gt;Once I download the image from dropbox i keep it on a cache so i don't download the same image over and over again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm not sure if i'm approaching this the right way. All the request are using the same OAuth key. That's because the users don't want to log into their dropbox account all the time, that's the point of using the shared link.&lt;/P&gt;&lt;P&gt;The thing is, I'm getting the Rate Limit exception and i don´t know if it is by the number of users requesting images at the same time or the number of threads that I create for a single user.&lt;/P&gt;&lt;P&gt;¿How should I do this?&lt;/P&gt;&lt;P&gt;¿Do I need to generate new OAuths keys?&lt;/P&gt;&lt;P&gt;¿Do I need to keep the DropBoxClient instance and reuse it?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Wed, 29 May 2019 09:08:11 GMT</pubDate>
    <dc:creator>Bya23</dc:creator>
    <dc:date>2019-05-29T09:08:11Z</dc:date>
    <item>
      <title>Rate Limit Dropbox API in  Web application.</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Rate-Limit-Dropbox-API-in-Web-application/m-p/326497#M19132</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm hosting a web service that downloads images from the user's dropbox using a shared link. Think thousands of users.&amp;nbsp;&lt;/P&gt;&lt;P&gt;To download the images i use this piece of code:&lt;/P&gt;&lt;PRE&gt;private async Task&amp;lt;byte[]&amp;gt; GetDropboxByteArrayAsync(Metadata item, string sharedLink)
{

DropboxClient client = new DropboxClient(DropBoxKey);
SharedLink sl = new SharedLink(sharedLink, null);
var file = await client.Sharing.GetSharedLinkFileAsync(sl.Url, "/" + item.Name, null);

var fileAsByteArray = await file.GetContentAsByteArrayAsync();

return fileAsByteArray;
}&lt;/PRE&gt;&lt;P&gt;Once I download the image from dropbox i keep it on a cache so i don't download the same image over and over again.&lt;/P&gt;&lt;P&gt;&amp;nbsp;I'm not sure if i'm approaching this the right way. All the request are using the same OAuth key. That's because the users don't want to log into their dropbox account all the time, that's the point of using the shared link.&lt;/P&gt;&lt;P&gt;The thing is, I'm getting the Rate Limit exception and i don´t know if it is by the number of users requesting images at the same time or the number of threads that I create for a single user.&lt;/P&gt;&lt;P&gt;¿How should I do this?&lt;/P&gt;&lt;P&gt;¿Do I need to generate new OAuths keys?&lt;/P&gt;&lt;P&gt;¿Do I need to keep the DropBoxClient instance and reuse it?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Wed, 29 May 2019 09:08:11 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Rate-Limit-Dropbox-API-in-Web-application/m-p/326497#M19132</guid>
      <dc:creator>Bya23</dc:creator>
      <dc:date>2019-05-29T09:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: Rate Limit Dropbox API in  Web application.</title>
      <link>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Rate-Limit-Dropbox-API-in-Web-application/m-p/326524#M19135</link>
      <description>&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, as you've shown here.&lt;/P&gt;
&lt;P&gt;We generally don't&amp;nbsp;recommend doing so, for&amp;nbsp;various technical and security reasons. For instance, the&amp;nbsp;Dropbox API rate limiting system is built for the scenario where each user connects their own account. The rate limits operate on a per-Dropbox user account basis.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, if you run all of your users through your single&amp;nbsp;Dropbox user account, you are more likely to run in to rate limits. There isn't a supported better way to do this via the API, such as registering more keys/tokens or re-using a client, since it's per-Dropbox user account.&lt;/P&gt;
&lt;P&gt;One alternative may be to access the&amp;nbsp;Dropbox shared link directly, using one of the URL parameters documented &lt;A href="https://www.dropbox.com/help/desktop-web/force-download" target="_self"&gt;here&lt;/A&gt;. That way, you wouldn't be using the API&amp;nbsp;and be subject to the API rate limits. You would still be subject to &lt;A href="https://www.dropbox.com/help/security/banned-links" target="_self"&gt;the shared link bandwidth limits&lt;/A&gt; though. In general though, it sounds like your use case may be better suited by a general CDN, as opposed to Dropbox.&lt;/P&gt;</description>
      <pubDate>Fri, 01 Feb 2019 16:16:47 GMT</pubDate>
      <guid>https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Rate-Limit-Dropbox-API-in-Web-application/m-p/326524#M19135</guid>
      <dc:creator>Greg-DB</dc:creator>
      <dc:date>2019-02-01T16:16:47Z</dc:date>
    </item>
  </channel>
</rss>

