Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Adobe DPS Android授权_Javascript_Android_Adobe Dps - Fatal编程技术网

Javascript Adobe DPS Android授权

Javascript Adobe DPS Android授权,javascript,android,adobe-dps,Javascript,Android,Adobe Dps,我们被一个AdobeDPS项目困住了。我们无法让我们的DPS android应用程序为我们的印刷订户提供授权,我们想知道是否有人能够做到这一点 我们在这里使用了Adobe的教程: ,isEntitlementViewer设置为true 代码要求输入用户名和密码,然后通过Adobe的API AdobeLibraryAPI.js,通过我们自己的API对用户进行身份验证。同样的代码在iPad版的应用程序中100%有效 实际处理登录的文件(称为LoginDialog.js)在名为clickHandler

我们被一个AdobeDPS项目困住了。我们无法让我们的DPS android应用程序为我们的印刷订户提供授权,我们想知道是否有人能够做到这一点

我们在这里使用了Adobe的教程: ,isEntitlementViewer设置为true

代码要求输入用户名和密码,然后通过Adobe的API AdobeLibraryAPI.js,通过我们自己的API对用户进行身份验证。同样的代码在iPad版的应用程序中100%有效

实际处理登录的文件(称为LoginDialog.js)在名为clickHandler的函数中包含以下代码(我们添加了一些javascript警报以尝试调试登录过程)


任何有DPS/android/授权经验的人?

只有在向Adobe注册了集成器ID后,android授权才会生效,因为android查看器服务路由仅通过集成器ID配置。 如果您没有integrator ID,则需要从Adobe Support获得一个

另外值得一提的是,与iOS相反,Android DPS查看器只支持一个基本路由/URL进行身份验证和授权

例如,在iOS中,您可以通过第一个URL登录:

权利的第二个URL可以位于不同的URL上:

在android中,两个URL必须相同,例如:


这个代码似乎是正确的。可能是配置问题。验证DPS应用程序生成器上是否未选中“使用旧商店API”。我在过去遇到了一些奇怪的问题,我解决了重新创建应用程序的问题,所以你也可以尝试一下。
    // Login using the authenticationService.
    var transaction = adobeDPS.authenticationService.login($username.val(), $password.val());
    alert("1:  "+transaction.state ); //returns “1:    0”
    transaction.completedSignal.addOnce(function(transaction) {
            alert("2:  "+transaction.state );  //never returns
            var transactionStates = adobeDPS.transactionManager.transactionStates;
            if (transaction.state == transactionStates.FAILED) {
                    $("#login .error").html("Authentication Failed.")
            } else if (transaction.state == transactionStates.FINISHED){
                    this.$el.trigger("loginSuccess");
                    this.close();
            }
            alert("3:  "+transaction.state ); //never returns
    }, this);
    alert("4:  "+transaction.error ); //never returns