public function put($uid) { $this->callbackURL = Input::get('callback'); $subscription_data = ['code' => Input::get('code'), 'state' => Input::get('state')]; $authorization_data = []; try { list($authorization_data['dropbox_access_token'], $authorization_data['dropbox_user_id'], $authorization_data['url_state']) = $this->getWebAuth()->finish($subscription_data); } catch (Dropbox\Exception_BadRequest $e) { return ['success' => false, 'error_message' => $e->getMessage()]; } assert($authorization_data['url_state'] === null); // Store this as a new Dropbox try { $dropbox = new Dropbox(); $dropbox->id = $uid; $dropbox->dropbox_authorized_id = $authorization_data['dropbox_user_id']; $dropbox->dropbox_token = $authorization_data['dropbox_access_token']; $dropbox->save(); } catch (Illuminate\Database\QueryException $e) { return ['success' => false, 'error_message' => $e->getMessage()]; } // Queue Dropbox crawl try { Queue::push('DropboxCrawlerController@dequeue', ['id' => $dropbox->id], $this->sync_queue_id); } catch (Exception $e) { return ['success' => false, 'error_message' => $e->getMessage()]; } return ['success' => true]; }