안드로이드에 Facebook Graph API 사용하기
06 Jul 2017 | Android Java Facebook SDK REST API Auth Graph APIGraph API 사용 Flow
인증 후 AccessToken 획득
AccessToken accessToken = AccessToken.getCurrentAccessToken();
Graph Request 생성
accessToken, URL endpoint, params, HttpMethod, Callback method를 인자로 생성
이후 executeAsync()
로 비동기 실행
예제 1 - 사용자 이름 얻기
GraphRequest request = GraphRequest.newMeRequest(accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
try {
mTextView.setText("Logged in as:" + object.getString("name"));
} catch (JSONException je) {
Log.e("FB", "No key provided.");
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link");
request.setParameters(parameters);
request.executeAsync();
예제 2 - 페이스북 페이지에 게시물 포스팅
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/912605208889540/feed", // 페이지 ID
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Toast.makeText(getBaseContext(), "Write Complete", Toast.LENGTH_SHORT).show();
}
}
).executeAsync();
예제 3 - 페이스북 페이지 게시물 가져오기
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/912605208889540/feed",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
JSONObject jsonObj = response.getJSONObject();
JSONArray jsonArray = null;
try {
jsonArray = jsonObj.getJSONArray("data");
} catch (JSONException je) {
Log.e("FB", "Error fetching JSON");
}
}
).executeAsync();
기타 확인할 것
- Facebook 개발자 페이지에서
앱 검수
항목에서 쓰기 권한 검수 받기 - Facebook 개발자 페이지에서 앱 공개해서 SANDBOX에서 실행되지 않도록 할 것
(앱 공개 안하면 안드로이드 앱을 통해 Publishing한 포스트들이 다른 사람에게 보이지 않음)
Comments