現在、Androidアプリケーションを開発中で、Facebookログインを開始しています。私が次にやろうとしているのは、Amazon AWSのリレーションデータベースサービスにユーザ情報を保存することです。私はAmazonでインスタンスを設定しており、以前のリサーチでは、ユーザ情報を保存するためにユーザプールを作成する必要があるという印象を受けていますが、私はこれが当てはまるとは確信していません。一度設定したユーザープールを実際に使用する方法。私はまた、Cognitoの同期を使用することができますが、再びAndroid上でFacebookとこれを統合することは私がやっていることを知っているか、それを行うためのリソースや情報をオンラインで見つけることはできません。ユーザーがFacebook経由でログインしたら、名前とメールを保存して友人のリストにアクセスしたいと思います。私は、彼らが必要とすることができると考えているように私は私のBuild.app Gradleのファイルに次の追加したFacebookのAmazon AWSを使用してリレーショナルデータベースにユーザー情報を格納する方法
if(AccessToken.getCurrentAccessToken() != null){
RequestData();
share.setVisibility(View.VISIBLE);
details.setVisibility(View.VISIBLE);
destinations.setVisibility(View.VISIBLE);
}
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(AccessToken.getCurrentAccessToken() != null) {
share.setVisibility(View.INVISIBLE);
details.setVisibility(View.INVISIBLE);
destinations.setVisibility(View.INVISIBLE);
profile.setProfileId(null);
}
}
});
share.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
ShareLinkContent content = new ShareLinkContent.Builder().build();
shareDialog.show(content);
}
});
destinations.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, SelectDestination.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
login.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Intent intent = new Intent(MainActivity.this, SelectDestination.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
if(AccessToken.getCurrentAccessToken() != null){
RequestData();
share.setVisibility(View.VISIBLE);
details.setVisibility(View.VISIBLE);
destinations.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancel() {
System.out.println("Cancelled");
}
@Override
public void onError(FacebookException exception) {
System.out.println("Cancelled");
}
});
}
public void RequestData(){
GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object,GraphResponse response) {
JSONObject json = response.getJSONObject();
try {
if(json != null){
String text = "<b>Name :</b> "+json.getString("name")+"<br><br><b>Email :</b> "+json.getString("email")+"<br><br><b>Profile link :</b> "+json.getString("link");
details_txt.setText(Html.fromHtml(text));
profile.setProfileId(json.getString("id"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link,email,picture");
request.setParameters(parameters);
request.executeAsync();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
:
私の次のコードは、私のFacebookのlogin.javaファイルの主要部分を示し
compile 'com.amazonaws:aws-android-sdk-ec2:2.+'
compile 'com.amazonaws:aws-android-sdk-core:2.+'
compile 'com.amazonaws:aws-android-sdk-cognito:2.+'
compile 'com.amazonaws:aws-android-sdk-s3:2.+'
compile 'com.amazonaws:aws-android-sdk-ddb:2.+'
compile 'com.amazonaws:aws-android-sdk-sdb:2.+'
私もAndroidManifestxmlに次の依存関係を追加しました:
<dependencies>
<dependency>
<groupid>com.amazonaws</groupid>
<artifactid>aws-android-sdk-core</artifactid>
<version>[2.2.0, 2.3)</version>
</dependency>
<dependency>
<groupid>com.amazonaws</groupid>
<artifactid>aws-android-sdk-cognito</artifactid>
<version>[2.2.0, 2.3)</version>
</dependency>
<dependency>
<groupid>com.amazonaws</groupid>
<artifactid>aws-android-sdk-mobileanalytics</artifactid>
<version>[2.2.0, 2.3)</version>
</dependency>
<dependency>
<groupid>com.amazonaws</groupid>
<artifactid>aws-android-sdk-sqs</artifactid>
<version>[2.2.0, 2.3)</version>
</dependency>
<dependency>
<groupid>com.amazonaws</groupid>
<artifactid>aws-android-sdk-ec2</artifactid>
<version>[2.2.0, 2.3)</version>
</dependency>
<dependency>
<groupid>com.amazonaws</groupid>
<artifactid>aws-android-sdk-s3</artifactid>
<version>[2.2.0, 2.3)</version>
</dependency>
</dependencies>
ことができます誰にも機能をどうやって行うのかに関する情報を提供してください。それは私のアプリの主要な部分であり、本当に私を抱きしめています。私は本当にそれがすべてのヘルプに感謝します。
ありがとうございます。
これは、登録/ログインではなくFacebookのログインを介してどうやって行われますか? – User10
あなたのIDプロバイダとしてfacebookでCognito IDを使用して、一時的な認証情報を生成できます。これらの一時的な資格情報を使用して、sdk経由でラムダ機能を呼び出すことができます。 – Karthik