code: def OauthAuthorizeApplication(self, oauth_duration = 'hour'):
          
          if self.__session_id__ == '':
              self.__error__ = "not logged in"
              return False
  
      # automatically get authorization for the application
          parameters = {'oauth_token':self.__oauth_token__.key, 'tok_expir':self.__OauthGetTokExpir__(oauth_duration), 'action':'ALLOW', 'session_id':self.__session_id__}
  
          if self.__SenseApiCall__('/oauth/provider_authorize', 'POST', parameters = parameters):
              if self.__status__ == 302:
                  response = urlparse.parse_qs(urlparse.urlparse(self.__headers__['location'])[4])
                  verifier = response['oauth_verifier'][0]
                  self.__oauth_token__.set_verifier(verifier)
                  return True
              else:
                  self.__setAuthenticationMethod__('session_id')
                  self.__error__ = "error authorizing application"
                  return False
          else:
              self.__setAuthenticationMethod__('session_id')
              self.__error__ = "error authorizing application"
              return False
docs: Authorize an application using oauth. If this function returns True, the obtained oauth token can be retrieved using getResponse and will be in url-parameters format.
              TODO: allow the option to ask the user himself for permission, instead of doing this automatically. Especially important for web applications.
              
              @param oauth_duration (string) (optional) -'hour', 'day', 'week', 'year', 'forever'
              
              @return (boolean) - Boolean indicating whether OauthAuthorizeApplication was successful