2

私たちは Adob​​e DPS プロジェクトで立ち往生しています。DPS android アプリで印刷版購読者のエンタイトルメントを取得することができず、誰かがこれを正しく取得できたのではないかと考えていました。

ここでは Adob​​e のチュートリアルを使用しました: http://www.adobe.com/devnet/digitalpublishingsuite/articles/library-store-combined-template.htmlで、 isEntitlementViewer を true に設定します。

コードはユーザー名とパスワードを要求し、Adobe の API Adob​​eLibraryAPI.js を介して、独自の API を介してユーザーを認証します。まったく同じコードが、アプリの iPad バージョンで 100% 機能しています。

ログインを実際に処理するファイル (LoginDialog.js と呼ばれる) には、clickHandler と呼ばれる関数内に次のコードが含まれています (ログイン プロセスのデバッグを試みるために、いくつかの JavaScript アラートを追加しました)。

    // 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

DPS / Android / Entitlementの経験がある人はいますか?

4

1 に答える 1

0

Android エンタイトルメントは、インテグレーター IDがアドビに登録された後にのみ機能します。これは、Android ビューアー サービス ルートがインテグレーター ID を介してのみ設定されるためです。インテグレーター ID を持っていない場合は、Adobe サポートから取得する必要があります。

また、iOS とは対照的に、Android DPS ビューアーは、認証と資格のために 1 つのベース ルート/URL のみをサポートすることにも言及する価値があります。

たとえば、iOS では、最初の URL を介してログインを行うことができます。

https://example.com/api/v1/SignInWithCredentials

エンタイトルメントの 2 番目の URL は、別の URL にすることができます。

http://server2.example.com/v1/api/entitlements

Android では、両方の URL が同じである必要があります。例:

https://example.com/api/v1/SignInWithCredentialsおよび https://example.com/api/v1/entitlements

于 2015-02-11T13:13:39.450 に答える