与ShareApi共享OpenGraphStore.Share FacebookSDK,android
我正在尝试从我的android应用程序共享opengraph对象。这是我的密码:与ShareApi共享OpenGraphStore.Share FacebookSDK,android,android,facebook,facebook-graph-api,facebook-opengraph,Android,Facebook,Facebook Graph Api,Facebook Opengraph,我正在尝试从我的android应用程序共享opengraph对象。这是我的密码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FacebookSdk.sdkInitialize(this.getApplicationContext()); Log.d(TAG, "SDK inicijalizirano");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this.getApplicationContext());
Log.d(TAG, "SDK inicijalizirano");
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
accessToken = loginResult.getAccessToken();
Log.d("Success", accessToken.getToken());
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "books.book")
.putString("og:title", "A Game of Thrones")
.putString("og:description", "In the frozen S")
.putString("books:isbn", "0-553-57340-3")
.build();
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("books.reads")
.putObject("book", object)
.putBoolean("fb:explicitly_shared", true)
.build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("book")
.setAction(action)
.build();
ShareLinkContent linkcontent = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("https://developers.facebook.com"))
.build();
ShareApi.share( content, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.d(TAG, "Story posted! " + result);
}
@Override
public void onCancel() {
Log.d(TAG, "canceled");
}
@Override
public void onError(FacebookException e) {
Log.d(TAG, "error posting: " + e.getMessage());
}
});
}
@Override
public void onCancel() {
Log.d(TAG, "Canceled");
}
@Override
public void onError(FacebookException exception) {
Log.d(TAG, "Not OK");
if (exception instanceof FacebookAuthorizationException) {
if (AccessToken.getCurrentAccessToken() != null) {
LoginManager.getInstance().logOut();
}
}
}
});
setContentView(R.layout.activity_check_in);
shareOnFacebookBox=(CheckBox) findViewById(R.id.share_on_facebook_checkbox);
shareOnFacebookBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(shareOnFacebookBox.isChecked()){
Log.d(TAG, "chekirano");
if(AccessToken.getCurrentAccessToken()!=null){
LoginManager.getInstance().logOut();
}
LoginManager.getInstance().logInWithPublishPermissions(ActivityCheckIn.this, PERMISSIONS);
}else{
System.out.println("Un-Checked");
}
}
});
这是我的
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);}
注意:Im成功登录,它在日志中打印accessToken,而不是应用程序崩溃
先谢谢你 我建议您使用我们最新的SDK和RPSSample&scrumpious捆绑示例来尝试这一点。您将了解如何处理ActivityResult()。。。etcI建议您使用我们最新的SDK和RPSSample&Scrumpious捆绑示例来尝试这一点。您将了解如何处理ActivityResult()。。。等
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);}