2016-10-19 9 views
0

для одного веб-приложения Я использую Backand.com как MBAAS.Backand.com - Случайная ошибка 404 во время REST API

Я создал модель данных и связал все таблицы.

Если я запрос API-интерфейсы REST по умолчанию не существует никаких проблем, однако если я пытаюсь вызвать пользовательские действия или пользовательские запросы к серверу случайно ответ с ошибкой 404 не найден ....

К примеру I» в это пользовательское действие с именем: getCommentsByEvent

'use strict'; 
function backandCallback(userInput, dbRow, parameters, userProfile) { 
    // write your code here 
return $http ({ 
    method: 'GET', 
    url: CONSTS.apiUrl + '/1/query/data/getCommentsByEvent', 
    params: { 
    parameters: { 
     event_id: {{event_id}} 
    } 
    }, 
headers: {"Authorization": userProfile.token} 
}); 

} 

Из Интернета App я использую этот код для вызова его с помощью REST

 service.commentsByEvent = function(p, s, r) { 
      $http({ 
       method: 'GET', 
       url: Backand.getApiUrl() + '/1/objects/action/comments/?name=getCommentsByEvent', 
       params: { 
        parameters: { 
         event_id: p.eventId 
        } 
       } 
      }).then(s, r); 
     }; 

Пользовательское действие написано правильно, потому что, если я попытаюсь вызвать его непосредственно с тестовой страницы Backand.com, он работает без каких-либо проблем, однако, если я попробую из своего веб-приложения в 80% случаев, когда он не работает, 20% это работает

Это ошибка:

Object {data: "Action not found, or is not on demand", status: 404, config: Object, statusText: "Not Found"}

Просто знать: - действие не имеет профиля безопасности или роль или другие; - до того, чтобы назвать это действие веб-приложение, вызовите для входа в аккаунт API, чтобы получить маркер - действие не требуется маркер аутентификации, поскольку является публичной

Для вызова входа в аккаунт API я сделал эту услугу:

service.signin = function(email, password) { 
     //set the app name of Backand. In your app copy this to .config section with hard coded app name 
     Backand.setAppName($rootScope.appName); 
     //call Backand for sign in 
     return Backand.signin(email, password); 
    }; 
    service.signout = function() { 
     return Backand.signout(); 
    }; 

Любая идея?

Благодаря Мишель

ответ

1

Исправлено!

Это был очень фиктивный вопрос, связанный с «именем App», созданное на сайте Backand.com ....

На Backand.com я создал приложение со всем именем в верхнем регистре, как «MYAPP» так, когда Я настроил SDK на Угловом я написал

Backand.setAppName("MYAPP); 

Однако Backand.com отображать то же имя на сайте, но в конфигурации она требует LOWERCASE тОЛЬКО имени на! Никто, даже в обслуживании клиентов, не знал, что эти требования, так что было очень трудно понять, как исправить ... Вчера я сделал попытку таким образом, и это сработало ...

Backand.setAppName("myapp"); 

Подводя итог, если вы имеют ошибку 404 и URL-адрес верен, нет проверки подлинности при проверке подлинности, если APP NAME является ТОЛЬКО LOWERCASE.