2015-09-15 6 views
1

Я получаю ошибку 400, которая предположительно означает искаженный запрос из-за синтаксической ошибки. Однако я не вижу этого, поэтому, возможно, кто-то еще может это заметить. Вот код:400 Код состояния при создании Parse.Cloud.httpRequest

Parse.Cloud.define("sendWelcome", function(req, res) 
{ 
    var userId = req.params.userId; 
    var welcomeBody = 
    { 
     'recipients': [ userId ], 
     'sender': { 'name': 'RealSheek' }, 
     'parts': 
     [{ 
     'body': 'Welcome to RealSheek!\n\nThanks for becoming a member. We hope you have fun with RealSheek - finding fun stuff, sharing it with your friends as you chat with them about it, and making collections.\n\nBe sure to invite your friends, and let us know how we can help ("Contact Us" from the app menu).\n\nCheers,\n\nThe RealSheek Team', 
     'mime_type': 'text/plain' 
     }], 
     'notification': { 'text': 'Welcome to RealSheek!', 'sound': 'chime.aiff' } 
    }; 
    var welcomeBodyJSON = JSON.stringify(welcomeBody); 

        console.log("\n\n\n"+welcomeBodyJSON); 

    Parse.Cloud.httpRequest(
    { 
     method: 'POST', 
     url: "https:api.layer.com/apps/" + layerProviderID + "/announcements", 
     headers: 
     { 
     'Accept'   : 'application/vnd.layer+json; version=1.0', 
     'Authorization'  : 'Bearer n4YeGaeJDmsC0kMdem28fsVjNuUOqhO86aqCUYoBNBYzjRP9', 
     'Content-Type'  : 'application/json' 
     }, 
     body: welcomeBodyJSON 
    }).then(function(httpResponse) 
    { 
     res.success(); 
    }, 
    function(httpResponse) 
    { 
     res.error('Request failed with response code ' + httpResponse.status); 
    }); 
}); 

Переменные userId и layerProviderID являются соответствующие строки и являются допустимыми идентификаторами. URL-адрес правильный, как и токен авторизации.

FYI, это использует платформу обмена сообщениями под названием Layer для отправки приветственного сообщения недавно зарегистрированному пользователю. Layer имеет API платформы, который позволяет использовать различные функции, такие как отправка сообщений пользователям или отправка объявлений (что я и делаю здесь).

Я проверил body на соответствие требованиям API; вот образец слоя:

{ 
    "recipients": [ "1234" ], 
    "sender": { 
     "name": "The System" 
    }, 
    "parts": [ 
     { 
      "body": "Hello, World!", 
      "mime_type": "text/plain" 
     } 
    ], 
    "notification": { 
     "text": "This is the alert text to include with the Push Notification.", 
     "sound": "chime.aiff" 
    } 
} 

И так, как я уже сказал, я застрял. Любая помощь с благодарностью принимается.

Заранее благодарен!

+1

отсутствует слэша https: // – Faizan

+0

Brilliant! Да, спасибо, это была проблема. Если бы вы разместили это как «Ответ», а не комментарий, я мог бы дать вам кредит на правильный ответ. В любом случае, спасибо - оцените, что вы нашли время, чтобы посмотреть на это! – Lew

ответ

2

Будет ли это поможет изменить свой URL из https:api.layer.com/apps/ в https://api.layer.com/apps/

+0

Да. Вы и @Faizan выше поймали это. Благодарю. – Lew

Смежные вопросы