在一个Android应用程序创建的Facebook事件 [英] create facebook event in an android app
本文介绍了在一个Android应用程序创建的Facebook事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是新来的机器人,我只想为创建从应用程序,我会制定一个Facebook的事件。后来,我将增加邀请好友的功能。 我想显示的邀请,作为通知或以任何好办法。
我做了这么多的研究在互联网上,但无法找到解决办法。
我会真的AP preciate任何解决方案...
感谢您!
解决方案
包com.tharaka.facebook;
进口java.io.FileNotFoundException;
进口java.io.IOException异常;
进口java.net.MalformedURLException;
进口org.json.JSONException;
进口org.json.JSONObject;
进口android.app.Activity;
进口android.content.Shared preferences;
进口android.os.Bundle;
进口android.util.Log;
进口android.view.Menu;
进口android.view.View;
进口android.view.View.OnClickListener;
进口android.widget.Button;
进口android.widget.Toast;
进口com.facebook.android.AsyncFacebookRunner;
进口com.facebook.android.AsyncFacebookRunner.RequestListener;
进口com.facebook.android.DialogError;
进口com.facebook.android.Facebook;
进口com.facebook.android.Facebook.DialogListener;
进口com.facebook.android.FacebookError;
进口com.tharaka.facebook.R;
公共类MainActivity扩展活动实现OnClickListener
{
//你的Facebook应用程序ID
私有静态字符串APP_ID =392736034134808; //替换您的应用程序ID
// 这里
// Facebook的类的实例
私人商标;
私人AsyncFacebookRunner mAsyncRunner;
字符串文件名=AndroidSSO_data;
私人共享preferences米preFS;
私人按钮btnFbLogin;
私人按钮btnCreateEvent;
私人字符串变量=MainActivity;
@覆盖
保护无效的onCreate(包savedInstanceState)
{
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
初始化();
setListeners();
}
私人无效初始化()
{
Facebook的=新的Facebook(APP_ID);
mAsyncRunner =新AsyncFacebookRunner(脸谱);
btnFbLogin =(按钮)findViewById(R.id.button_FbLogin);
btnCreateEvent =(按钮)findViewById(R.id.button_createEvent);
}
私人无效setListeners()
{
btnFbLogin.setOnClickListener(本);
btnCreateEvent.setOnClickListener(本);
}
@覆盖
公共布尔onCreateOptionsMenu(菜单菜单)
{
//充气菜单;这增加了项目操作栏,如果它是present。
。getMenuInflater()膨胀(R.menu.activity_main,菜单);
返回true;
}
@覆盖
公共无效的onClick(视图查看)
{
开关(view.getId())
{
案例R.id.button_FbLogin:
loginToFacebook();
打破;
案例R.id.button_createEvent:
CreateEvent的();
Toast.makeText(getApplicationContext(),新事件创建!!,Toast.LENGTH_LONG).show();
打破;
默认:
打破;
}
}
私人无效loginToFacebook()
{
米preFS = GET preferences(MODE_PRIVATE);
字符串access_token = M prefs.getString(access_token,NULL);
长过期= M prefs.getLong(access_expires,0);
若(access_token!= NULL)
{
facebook.setAccessToken(access_token);
}
如果(到期!= 0)
{
facebook.setAccessExpires(到期);
}
如果(!facebook.isSessionValid())
{
facebook.authorize(这一点,新的String [] {
电子邮件,publish_stream,create_event
},新DialogListener()
{
@覆盖
公共无效OnCancel的()
{
//函数处理取消事件
}
@覆盖
公共无效的onComplete(束值)
{
//函数来处理完成事件
//编辑preferences和更新Facebook的acess_token
共享preferences.Editor编辑= M prefs.edit();
editor.putString(access_token,facebook.getAccessToken());
editor.putLong(access_expires,facebook.getAccessExpires());
editor.commit();
}
@覆盖
公共无效onerror的(DialogError错误)
{
//函数来处理错误
}
@覆盖
公共无效onFacebookError(FacebookError fberror)
{
//函数来处理Facebook的错误
}
});
}
}
私人无效CreateEvent的()
{
尝试
{
捆绑PARAMS =新包();
params.putString(名,这是一个测试事件);
params.putString(START_TIME,2013-12-02T18:00:00 + 0530);
params.putString(END_TIME,2013-12-02T20:00:00 + 0530);
params.putString(说明,这是测试描述耶?);
params.putString(位置,拉维尼亚山);
//params.putString("location_id,);
params.putString(privacy_type,OPEN);
mAsyncRunner.request(ME /事件,则params,POST,新RequestListener()
{
@覆盖
公共无效onMalformedURLException(MalformedURLException的E,对象的状态)
{
}
@覆盖
公共无效onIOException(IOException异常E,对象状态)
{
}
@覆盖
公共无效onFileNotFoundException(FileNotFoundException异常即对象的状态)
{
}
@覆盖
公共无效onFacebookError(FacebookError即对象的状态)
{
}
@覆盖
公共无效的onComplete(字符串响应,对象状态)
{
尝试
{
JSONObject的事件=新的JSONObject(响应);
字符串EVENT_ID = event.getString(ID);
Log.i(TAG,事件ID =>中+事项标识);
//Toast.makeText(getApplicationContext(),新事件创建!!,Toast.LENGTH_LONG).show();
}
赶上(例外五)
{
}
}
}, 空值);
}
赶上(例外五)
{
}
}
}
I am new to android, I want only to create a Facebook event from the app that I am going to develop. Later I will be adding the feature to invite friends. I would like to display the invitation as a notification or in any good way.
I did so much research on internet but could not find the solution.
I will really appreciate any solutions...
Thank you!
解决方案
package com.tharaka.facebook;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.AsyncFacebookRunner.RequestListener;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;
import com.tharaka.facebook.R;
public class MainActivity extends Activity implements OnClickListener
{
// Your Facebook APP ID
private static String APP_ID = "392736034134808"; // Replace your App ID
// here
// Instance of Facebook Class
private Facebook facebook;
private AsyncFacebookRunner mAsyncRunner;
String FILENAME = "AndroidSSO_data";
private SharedPreferences mPrefs;
private Button btnFbLogin;
private Button btnCreateEvent;
private String TAG="MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initialize();
setListeners();
}
private void initialize()
{
facebook = new Facebook(APP_ID);
mAsyncRunner = new AsyncFacebookRunner(facebook);
btnFbLogin = (Button) findViewById(R.id.button_FbLogin);
btnCreateEvent = (Button) findViewById(R.id.button_createEvent);
}
private void setListeners()
{
btnFbLogin.setOnClickListener(this);
btnCreateEvent.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public void onClick(View view)
{
switch (view.getId())
{
case R.id.button_FbLogin:
loginToFacebook();
break;
case R.id.button_createEvent:
createEvent();
Toast.makeText(getApplicationContext(), "New Event Created!!", Toast.LENGTH_LONG).show();
break;
default:
break;
}
}
private void loginToFacebook()
{
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if (access_token != null)
{
facebook.setAccessToken(access_token);
}
if (expires != 0)
{
facebook.setAccessExpires(expires);
}
if (!facebook.isSessionValid())
{
facebook.authorize(this, new String[] {
"email", "publish_stream", "create_event"
}, new DialogListener()
{
@Override
public void onCancel()
{
// Function to handle cancel event
}
@Override
public void onComplete(Bundle values)
{
// Function to handle complete event
// Edit Preferences and update facebook acess_token
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onError(DialogError error)
{
// Function to handle error
}
@Override
public void onFacebookError(FacebookError fberror)
{
// Function to handle Facebook errors
}
});
}
}
private void createEvent()
{
try
{
Bundle params = new Bundle();
params.putString("name", "This is a test event");
params.putString("start_time", "2013-12-02T18:00:00+0530");
params.putString("end_time", "2013-12-02T20:00:00+0530");
params.putString("description", "This is test description yeah?.");
params.putString("location", "Mount Lavinia");
//params.putString("location_id", "");
params.putString("privacy_type", "OPEN");
mAsyncRunner.request("me/events", params, "POST", new RequestListener()
{
@Override
public void onMalformedURLException(MalformedURLException e, Object state)
{
}
@Override
public void onIOException(IOException e, Object state)
{
}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state)
{
}
@Override
public void onFacebookError(FacebookError e, Object state)
{
}
@Override
public void onComplete(String response, Object state)
{
try
{
JSONObject event = new JSONObject(response);
String event_id = event.getString("id");
Log.i(TAG, "Event id => "+event_id);
//Toast.makeText(getApplicationContext(), "New Event Created!!", Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
}
}
}, null);
}
catch (Exception e)
{
}
}
}
这篇关于在一个Android应用程序创建的Facebook事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文