javascript - 创建Parse安装对象UWP winjs

标签 javascript parse-platform winjs uwp

我在我的 UWP javascript 应用程序中使用 Parse javascript SDK。正如快速入门中提到的,我使用以下行初始化 Parse,

Parse.initialize("App_ID", "Javascript_Key");

但它不会在 Parse 仪表板中创建安装对象。另外,正如文档中提到的,

Installation data can only be modified by the client SDKs, the data browser, or the REST API.

我试图遵循一些答案来创建安装对象,在这里,https://stackoverflow.com/a/32599778但我无法让它工作。关于如何创建安装对象有什么想法吗?谢谢

最佳答案

您首先需要为您的设备生成一个“ native ”安装 ID。您可能可以使用 Parse javascript 平台已经生成的一个,但生成一个新的也不难。只需模仿 Parse 源代码中已完成的操作即可:

function generateInstallationId(){
    function hexOctet() {
        return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
    }

    return hexOctet() + hexOctet() + '-' + hexOctet() + '-' + hexOctet() + '-' + hexOctet() + '-' + hexOctet() + hexOctet() + hexOctet();
}

然后构建正确的 xhr header 。由于我们模仿 native Parse SDK 使用 REST 的方式,因此我们使用 dotNet key 或客户端 key ,而不是 javascript key 。

var xhrHeaders = {
    "Content-Type": "application/json",
    "X-Parse-Application-Id": YOUR_APP_ID,
    "X-Parse-Windows-Key": YOUR_DOTNET_KEY
};

然后构造您的安装对象数据,以便它能够通过服务器验证。

var installationData = {
   appIdentifier: "your.app.package",
   appName: "appName",
   appVersion: "1.0.0",

   deviceType: "winrt",
   deviceUris: {_Default: YOUR_WNS_CHANNEL_URI},
   timeZone: "America/Los_Angeles",
   localeIdentifier: "en-US",
   parseVersion: "1.7.0.0",
   installationId: generateInstallationId()
}

最后,进行 REST 调用

WinJS.xhr({
    type: "POST",
    url: "https://api.parse.com/1/installations",
    headers: xhrHeaders,
    data: JSON.stringify(installationData)
});

我从 parse-push-plugin 中摘取了大部分代码,特别是this file 。如果您需要更多背景信息或想了解如何获取 WNS channel ,请随时查看此处。

关于javascript - 创建Parse安装对象UWP winjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34851677/

相关文章:

javascript - 如何使动态创建的div可编辑

iOS 如何在我滚动到底部 Swift 4 时更新表格 View 数据

ios - PFLogInViewController - 无法自定义字段

node.js - 无法在 Debian 上启动独立的 parse.com 服务器

javascript - 如何让 Angular.js 在 Windows 8 商店应用程序中工作?

javascript - 你如何 "combine"一个ShaderMaterial和LambertMaterial?

javascript - 将 JSON 对象转换为新结构化 JSON 对象的最简单方法?

windows-8 - 导航在 WinJS 中无法按预期工作

javascript - 从 iframe 检测滑动手势

javascript - Webix(protoUI)中建议列表中的表单