0

我正在尝试将某些内容发布到用户的墙上。但是我不断收到此错误。

TypeError:错误 #1006:值不是函数。
在 com.facebook.graph.core::AbstractFacebook/handleRequestLoad()
在 com.facebook.graph.net::AbstractFacebookRequest/dispatchComplete()
在 com.facebook.graph.net::AbstractFacebookRequest/handleDataLoad()
在 com.facebook。 graph.net::AbstractFacebookRequest/handleURLLoaderComplete()
在 flash.events::EventDispatcher/dispatchEventFunction()
在 flash.events::EventDispatcher/dispatchEvent()
在 flash.net::URLLoader/onComplete()

这是代码:

public function PostToUserWall(userId:String, message:String, name:String, caption:String, description:String, link:String):void
    {
        var params: Object = new Object;
        params.message = message;
        params.name = name;
        params.caption = caption;
        params.description = description;
        params.link = link;
        params.picture = "www.something.com/something.png";
        Facebook.api("/"+userId+"/feed", null, params, "POST");
    }

我试图了解这个问题是什么。但不知何故无法弄清楚。这里有什么帮助吗?

4

2 回答 2

1

只有堆栈跟踪才能继续进行调试,这有点挑战。发布代码将提高有人能够帮助您的可能性。但是,在我看来parameter,您调用 Facebook API 的回调不是一个函数。我建议您仔细检查您在 API 调用中传递的参数。

编辑:

facebook API 调用的第二个参数应该是返回结果时 API 将执行的函数。尝试按如下方式更新您的代码:

public function PostToUserWall(userId:String, message:String, name:String, caption:String, description:String, link:String):void
{
        var params: Object = new Object;
        params.message = message;
        params.name = name;
        params.caption = caption;
        params.description = description;
        params.link = link;
        params.picture = "www.something.com/something.png";
        Facebook.api("/"+userId+"/feed", resultHandler, params, "POST");
}

private function resultHandler():void
{
    trace("Result!");
}
于 2012-07-13T10:29:18.910 回答
0

以下是两种应该有效的方法:

这个从您的 swf 发布位图。

public function postImageToUserWall(bmp:Bitmap, caption:String):void
{
    Facebook.api(_userID +'/photos', onPicPostedToUserWall, {message:caption, image:bmp, fileName:'file.png'}, URLRequestMethod.POST);
}

private function onPicPostedToUserWall(result:Object, fail:Object):void
{
    if (result)
    {
        //result.id is id of photo that was just posted - used to link to pic when posting to recipient's wall
    }
    else if (fail)
    {
        //
    }
}

这个发布了来自链接的图片:

public function postLinkToFeed(params:Object)
{
    Facebook.ui('feed', {   
                            name: params.name, 
                            caption: params.caption, 
                            description: params.description, 
                            picture: params.imageURL, 
                            link: params.link,
                            to: params.toID,
                            from: params.fromID
                        }, onPostToFeedComplete, 'iframe');
    }

private function onPostToFeedComplete(result:Object)
{
    //
}
于 2012-07-14T01:09:15.757 回答