일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ubuntu
- server
- kakao
- 안드로이드
- java
- 한글
- 개발자
- NGINX
- javascript
- android
- mariadb
- H2O
- Portfolio
- centOS7
- 자바
- 구글
- 프래그먼트
- C
- 번역
- 컴퓨터과학총론
- MySQL
- unity
- error
- caddy
- C lanuage
- 개발
- 해석
- it
- techEmpower
- php
- Today
- Total
개발모음집
facebook login api 본문
페이스북개발자홈페이지 이 걸 보고 프로젝트 생성 및 해시키등록을 하고
페이스북개발자홈페이지의 개발문서를 보면서 코딩하다가 막히는 부분이 있어
참고블로그를 보고 참고하였다.
처음보는 사람은 블로그부터보고 차근차근따라하는게 좋을듯하다.
참고블로그를 따라해도 생기는 에러가 있다
Unexpected CallbackManager, please use the provided Factory.
스택오버플로우에 검색해보니 이 에러는 onCreate안에
// FacebookSdk.sdkInitialize(this.getApplicationContext());
코드를 써주는 대신
callbackManager = CallbackManager.Factory.create();
를 해주면 된다고 한다.
++
참고 블로그에는
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
와 같이 테마를 노타이틀바로 하라고 되어있는데
나는 액티비티의 테마를 noActionBar로 설정해놓고 자체로그인 및 다른 로그인 api를 한 액티비티에 구현한 상태에서 페이스북 로그인 api를 추가하는 거였는데 노타이틀바로 바꾸니
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
아래와 같은 에러가 떴다.
그냥 noActionBar로 하니 해결됨
<activity
android:name=".LoginActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@style/Theme.AppCompat.NoActionBar"/>
사용자 정보 가져오는 방법
faceBtn.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
GraphRequest graphRequest = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.v("result", object.toString());
try {
email = object.getString("id");
name = object.getString("name");
ImagePath = "http://graph.facebook.com/" + email + "/picture"; }
이미지 패스는 특정 url에 id값을 넣으면 된다고 참고블로그에 나와있다.
'Android' 카테고리의 다른 글
RecyclerView with multiple view type (0) | 2017.08.01 |
---|---|
안드로이드 스튜디오에서 github연동하는 법 (0) | 2017.07.31 |
KaKaoLogin API로 로그인하기 (0) | 2017.07.31 |
google map 길찾기 폴리라인 (directions polyLine) (1) | 2017.07.27 |
Android OpenCv 이미지 필터 + 얼굴인식 (10) | 2017.07.26 |