29 버전에서 아직 배포전에 카카오링크 메시지 공유작업을 해놨습니다. 제꺼에서는 공유가 잘되는데,
다른폰에서 테스트하면 errorResult 401나면서 key mismatched 오류납니다.
return 값을 찍으니, 안드로이드 에서 생성해서 등록한 key값아고, caller 로 보내는 key값이 다른것같습니다.
다른 글에서 보면 google 콘솔에서 sha-1 값을 넣으면 된다고 하는데, 제꺼는 개발버전이라서 아직 google 등록전입니다.
google에 등록해야 공유가 가능한건가요?
아래는 키 생성 함수하고, 키 공유 함수입니다.
=== 키생성함수 ===
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance(“SHA”);
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
Log.e(“two21c”, “keyhash값 sha1”+something);
}
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e(“name not found”, e.toString());
}
==== 아래 키 공유함수 ========
KakaoLinkService.getInstance().sendDefault(Mplay2.this, params, new ResponseCallback() {
@Override
public void onFailure(ErrorResult errorResult) {
Toast.makeText(getApplicationContext(),errorResult.toString(),Toast.LENGTH_LONG).show();
Logger.e(errorResult.toString());
}
@Override
public void onSuccess(KakaoLinkResponse result) {
Toast.makeText(getApplicationContext(),"링크공유성공",Toast.LENGTH_LONG).show();
// 템플릿 밸리데이션과 쿼터 체크가 성공적으로 끝남. 톡에서 정상적으로 보내졌는지 보장은 할 수 없다. 전송 성공 유무는 서버콜백 기능을 이용하여야 한다.
}
});
============================
onfailure 에 찍히는 키값이 다릅니다.