发布消息的朋友墙SDK 3.5的Andr​​oid [英] Post message on my friends wall with sdk 3.5 android

查看:121
本文介绍了发布消息的朋友墙SDK 3.5的Andr​​oid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想贴在我的朋友墙上留言,我有我的好友列表和它们的ID现在,我使用的是低于code,但它没有公布任何消息,我的朋友的任何墙,我会后我的code,我在上面$ C $词现在用我的朋友一个静态的ID,但它没有张贴在我的朋友墙上的任何消息,如果我用我的FB标识更换ID,然后它被张贴在墙上?

 私人无效getfriendlist()
{
Session.openActiveSession(这一点,真正的,新的Session.StatusCallback()
{//回调时会改变状态@燮pressWarnings(德precation)
 @覆盖
公共无效电话(最后一届会议,SessionState会状态,异常除外){如果(session.isClosed())
{
Log.i(postStatusUpdate session.isClosed,信息发布不关闭会话);
}如果(session.isOpened())
{// Log.i(session.isOpened,session.isOpened); //session.requestNewReadPermissions(newPermissionsRequest);
如果(!session.isOpened())
{Session.OpenRequest openRequest = NULL;
openRequest =新Session.OpenRequest(InvitefriendsActivity.this);
如果(openRequest!= NULL){//openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS); openRequest.setPermissions(Arrays.asList(\"email,user_birthday,user_location,user_hometown,user_about_me,user_relationships,publish_stream,publish_actions,basic_info,status_update\",\"friends_birthday\",\"read_friendlists\")); //openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK); session.openForRead(openRequest);
}}
Request.executeMyFriendsRequestAsync(会话,新Request.GraphUserListCallback()
{
@覆盖公共无效onCompleted(列表< GraphUser>的用户,响应响应){Log.d(AL,+ response.toString());
的for(int i = 0; I< users.size();我++)
{//Log.d(\"AL,+ users.get(ⅰ)的ToString());
Log.d(AL,+ users.get(ⅰ).getId());
Log.d(AL,+ users.get(ⅰ).asMap()获得(名称));
捆绑PARAMS =新包();
params.putString(信息,你好);
params.putString(标题,你好);
请求请求=新的请求(会话,100005147887121 /饲料,则params,HttpMethod.POST); RequestAsyncTask任务=新RequestAsyncTask(请求); task.execute(); }}}); }}}); }


解决方案

我认为这是关系到所请求的权限。你(你会话)允许张贴别人墙?您将在这里找到可用权限列表

https://developers.facebook.com/docs/reference/login /扩展的权限/

我认为你需要请求publish_actions

问候

迈克尔

i want to post message on my friends wall , I got my friend list and their Id now i am using the below code but it not posting any message to my any of friend wall, i'll post my code, in my above code i am using a static id of my friends but it is not posting any message on my friends wall , if i replace the id with my fb id then it is posting on my wall?

    private void getfriendlist() 
{ 
Session.openActiveSession(this, true, new Session.StatusCallback() 
{ // callback when session changes state @SuppressWarnings("deprecation")
 @Override 
public void call(final Session session, SessionState state, Exception exception) { if(session.isClosed())
{ 
Log.i("postStatusUpdate session.isClosed", "message not posted session is closed"); 
} if (session.isOpened()) 
{ // Log.i("session.isOpened", "session.isOpened"); //session.requestNewReadPermissions(newPermissionsRequest); 
if (!session.isOpened()) 
{ Session.OpenRequest openRequest = null; 
openRequest = new Session.OpenRequest(InvitefriendsActivity.this); 
if (openRequest != null) { //openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS); openRequest.setPermissions(Arrays.asList("email,user_birthday,user_location,user_hometown,user_about_me,user_relationships,publish_stream,publish_actions,basic_info,status_update","friends_birthday","read_friendlists")); //openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK); session.openForRead(openRequest); 
} } 
Request.executeMyFriendsRequestAsync(session, new Request.GraphUserListCallback() 
{ 
@Override public void onCompleted(List<GraphUser> users, Response response) { Log.d("AL",""+response.toString()); 
for (int i=0;i<users.size();i++)
{ //Log.d("AL",""+users.get(i).toString()); 
Log.d("AL",""+users.get(i).getId()); 
Log.d("AL",""+users.get(i).asMap().get("name")); 
Bundle params = new Bundle(); 
params.putString("message", "Hi "); 
params.putString("caption", "Hello"); 
Request request = new Request(session, "100005147887121/feed", params, HttpMethod.POST); RequestAsyncTask task = new RequestAsyncTask(request); task.execute(); } } }); } } }); }

解决方案

I think this is related to requested Permissions. Are you (you Session) allowed to post to someone else Wall? You will find here a list of available permissions

https://developers.facebook.com/docs/reference/login/extended-permissions/

I think you need to request for 'publish_actions'

Regards

Michael

这篇关于发布消息的朋友墙SDK 3.5的Andr​​oid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆