We're making changes to the Community, so you may have received some notifications - thanks for your patience and welcome back. Learn more here.

Forum Discussion

nevermindx's avatar
nevermindx
Explorer | Level 4
3 months ago

Property 'auth' does not exist on type 'Dropbox'

auth

export class DropboxService {
private dbx: Dropbox

constructor() {
this.dbx = new Dropbox({
fetch,
clientId: dropboxConfig.clientId,
clientSecret: dropboxConfig.clientSecret,
})
}

generateAuthUrl() {
const authUrl = this.dbx.auth.getAuthenticationUrl(
dropboxConfig.redirectUri,
undefined,
'code',
)
return authUrl
} shows error auth doest not exist on Dropbox
  • Ha..🤣 You just found an imperfection out. 🤫

    The 'auth' field is there, but for whatever reason is not declared in type script. 🤷 That's why your interpreter complains.

    You can workaround as re-declare Dropbox and include the "missing" field or construct DropboxAuth object on your own, save a reference, and pass it on construction of Dropbox object - this.auth = new DropboxAuth({fetch, ...}); this.dbx = new Dropbox({auth}) (so instead of this.dbx.auth... you may use just this.auth...).

    Hope this helps.

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Staff rankDropbox Staff

    Thanks for the report! I'll ask the team to add this to the types.

    • nevermindx's avatar
      nevermindx
      Explorer | Level 4

      got the solution actually i had to do 

      importDropboxAuth } from 'dropbox' instead of  import { Dropbox } from 'dropbox'
       
      then i was able to to do  dbxAuth.getAuthenticationUrl()