본문 바로가기
개발/android

페이스북 안드로이드 sdk로 담벼락 글쓰기... 정리 2가지

by 매몰 2014. 1. 9.



페이스북 안드로이드 sdk로 어플을 개발하면서 제가 쓰던 글쓰기 코드를 정리해 보았습니다~



페이스북 타임라인에 글을 올릴때 다음과 같이 크게 2가지로 분류된다


1. 이미지 및 동영상 올리기

2. 링크글 올리기 



페이스북 안드로이드 sdk를 이용할때도 이 두가지 분류에 따라서 사용법이 달라진다



1. 이미지 및 동영상 올리기


List<String> permissions = session.getPermissions();

if (permissions.containsAll(mPermissions)) {


AsyncTask<Void, Void, Response> task = new AsyncTask<Void, Void, Response>() {

           

@Override

protected Response doInBackground(Void... voids) {


Bundle param = new Bundle();


//이미지 및 동영상 파일 올리기

File outputfile = new File(mPath);

ParcelFileDescriptor descriptor = ParcelFileDescriptor.open(outputfile, ParcelFileDescriptor.MODE_READ_ONLY);

param.putParcelable(outputfile.getName(), descriptor);


//이미지일 경우 

String graphpath = "/photos";

param.putString("message", "글");


//동영상일 경우

//String graphpath = "/videos";

//param.putString("description", "글");


Request request = new Request(mSession, graphpathparamHttpMethod.POST);

 

return request.executeAndWait();

}

@Override

protected void onPostExecute(Response response) {


try {

GraphObject graphobject = response.getGraphObject();

//결과값

} catch(Exception e) {

e.printStackTrace();

}

}

};

task.execute();

}



2. 링크글 올리기


List<String> permissions = session.getPermissions();

if (permissions.containsAll(mPermissions)) {


AsyncTask<Void, Void, Response> task = new AsyncTask<Void, Void, Response>() {

            

@Override

protected Response doInBackground(Void... voids) {


Bundle param = new Bundle();


param.putString("message", "글");

param.putString("link", "링크주소");


//만약 페이스북글을 링크시키고 싶을때에는 다음과 같이 한다


//////////////이젠 이방식은 안쓰임ㅠㅠ 대신 아랫글을 참고/////////////////

//이미지 글: param.putString("link", "https://www.facebook.com/photo.php?fbid=" + id);

//동영상 글: param.putString("link", "https://www.facebook.com/photo.php?v=" + id);

//id는 해당글의 아이디이다 

////////////////////////////////////////////////14.01.09///////////////


/////////////////////페이스북글 링크시키는 대체된 방식///////////////////

//페이스북글을 파싱해온 필드중에 "link" 값을 그대로 아래에 삽입

param.putString("link", "페이스북글 link 값의 주소");

////////////////////////////////////////////////14.03.03 수정//////////


Request request = new Request(mSession, "/feed"paramHttpMethod.POST);

 

return request.executeAndWait();

}

@Override

protected void onPostExecute(Response response) {


try {

GraphObject graphobject = response.getGraphObject();

//결과값

} catch(Exception e) {

e.printStackTrace();

}

}

};

task.execute();

}



참고로 


위치는

param.putString("place", "지역아이디");


함께하는 사람 태그는

param.putString("tags", "회원아이디1,회원아이디2,회원아이디3");


이다





 

 매몰: 고영진


 1인 개발자 

     실패만 하고 있어도 꿈을 포기하지 않는 남자. 

     제가 직접 경험하고 습득한 지식을 위주로 올릴게요. 









사업자 정보 표시
주식회사 머리말 | 고영진 | 서울특별시 송파구 중대로 135 서관 10층 (가락동, 아이티벤처타워) | 사업자 등록번호 : 524-88-00727 | TEL : 010-9990-3674 | Mail : gyjmeba@hanmail.net | 통신판매신고번호 : 2017-서울강남-03941호 | 사이버몰의 이용약관 바로가기