Facebook や Twitter を使用して登録できるように、Gigya を使用して Android アプリを開発しています。並行して、別の開発者が iOS で同じことを行っています。カスタム ログイン UI を実装したいと考えています。
標準的な方法は、Gigya 独自の UI を使用し、次のドキュメントに記載されています。
http://developers.gigya.com/035_Mobile_SDKs/020_Android#Logging_in_the_User
その下では、次のように単純に提案されています。
グラフィックデザインを自分で実装したい場合は、代わりにloginメソッドを使用してください。
標準のログイン メソッドは、メソッドを使用して専用のログイン後コールバックを呼び出しますonLogin(...)
。後続のすべてのフローは、このイベントから発生するものとして記述されます。もう 1 つのログイン メソッドは、標準のonGSResponse(...)
コールバックを呼び出します。応答を使用してユーザーを構築する方法が明確ではないため、実装を call に設定しましたsocialize.getUserInfo
。いずれかのメソッドを呼び出そうとすると、多くの異常なエラーが発生しました。
私が始めているGigyaの指示に従って
mGSAPI = new GSAPI(GIGYA_APP_KEY, this);
mGSAPI.setAPIDomain("eu1.gigya.com");
in onCreate(...)
(ここGIGYA_APP_KEY
で、コンソールからコピーされた値です)。setAPIDomain を呼び出しているのは、無効なデータ センター エラー (301001 コードではなく 500001 コードではありますが!) が発生していたためです。これは修正されました。
Facebook のログインは、予想どおりにログイン フローを通過し、エラー 400093 で返されます (ドキュメントによると、これは無効な API パラメーターであり、" Missing parameter: client_id" というメッセージが表示されます)。
Twitter のログインは 206002 の "Account Pending Verification" で返されますが、これは理にかなっているようです。それから私は電話します
mGSAPI.sendRequest(
"getUserInfo",
null, //parameters
true, //use HTTPS
this, //the callback
null //a context object
);
そして、これは私にエラーを与えます:
必須パラメーターがありません: シークレットまたは署名が指定されていません。リクエストを確認できませんでした。
ドキュメントでsocialize.getUserInfo
は、Web アプリには UID が必要ですが、ネイティブ アプリには必要ありません。他の必須フィールドについては言及していません。私は少し立ち往生しています... GSAPI
APIキーで初期化されているため、オブジェクトは検証を処理するべきではありませんか?