【问题标题】:Migrated to Facebook Graph API - application broken now - cannot post to wall迁移到 Facebook Graph API - 应用程序现已损坏 - 无法发布到墙上
【发布时间】:2010-06-30 18:13:09
【问题描述】:

昨天我更改了应用程序设置并启用了“新数据权限”和“新 SDK”。

在那之后,向用户墙发布消息的功能停止工作。在我的网站上,用户使用 facebook API (Graph) 登录并能够在他们的墙上发布消息。

这是我运行良好的旧代码:

功能publish_with_permission(权限,action_links,附件){ FB.ensureInit(函数(){ FB.Connect.requireSession(function(){ //检查用户是否已授予此权限 FB.Facebook.apiClient.users_hasAppPermission(权限, 功能(结果){ // 提示离线权限 如果(结果 == 0){ // 显示 facebook 权限对话框 FB.Connect.showPermissionDialog(权限, 函数(结果){ 如果(!结果){ FB.Connect.streamPublish('', attachment, action_links, null, "Post this:", jscallback); } 别的 { // 授予权限,发布时不使用 facebook 对话框 FB.Connect.forceSessionRefresh(function() { FB.Connect.streamPublish('', attachment, action_links, null, "发布这个:", jscallback,true); }); } },真,空); } 别的 { // 权限已经授予,突然发布 // 没有 facebook 对话框 FB.Connect.streamPublish('', attachment, action_links, null, "发布这个:", jscallback,true); } }); }); }); }

函数只是挂起,没有任何反应。我在这个论坛上搜索,发现了这个post

函数 fb_publish() { FB.ui( { 方法:'stream.publish', message: '在这里留言。', 附件: { 名称:'Nom ici.', caption: '这里有标题。', 描述: ( '这里的描述' ), href: '这里的网址' }, 动作链接:[ { 文本:'代码',href:'此处的操作网址'} ], user_prompt_message: '这里是个人信息' }, 功能(响应){ if (response && response.post_id) { alert('帖子已发布。'); } 别的 { alert('帖子未发布。'); } } ); }

这个可行,但有两个问题 1)即使当用户第一次使用图形API登录并且他们已经授予扩展权限以发布到他们的墙时,此方法每次都会询问用户是否允许 - 前一个没有这样做。 2) 这种方法还允许用户添加他们的 cmets - 我也不想要这个。

我想无缝地发布到墙上,而无需再次明确要求他们之前已经授予的权限。

我正在使用 PHP - 任何提示将不胜感激 谢谢

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    我想这就是你要找的。​​p>

    预先获取权限。 和 然后使用 Graph API 而不是 Javascript SDK 发布到流。 (这在发布时根本不会涉及用户,并且会在您的 php 代码中发生在服务器端)

    【讨论】:

    • 我已经这样做了 - 第一次用户注册时 - 他正在授予应用程序发布到他的墙上的权限 - 但它仍然不断出现,我提到的第二个问题 - 我不希望用户输入任何 cmets
    【解决方案2】:

    我想不出使用 Javascript 的方法 - 所以我改用 php

    尝试 { $statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> '示例状态消息', 'cb' => '')); } 捕获(FacebookApiException $e) { }

    希望对某人有所帮助

    【讨论】:

    【解决方案3】:

    试试这个代码贴在墙上

    FB.ui(
                {
                    method: 'feed',
                    name: 'NAME',
                    link: 'LINK OF THE WEBSITE OR PAGE',
                    picture: 'IMAGE_URL IF YOU NEED IT',
                    caption: 'Reference Documentation',
                    description: "DESCRIPTION"
                },
                function(response) {
                    if (response && response.post_id) {
                        alert('Post was published.');
    
                    } else {
                        alert('Post was not published.');
                    }
                }
            );
    

    此代码适用于我的应用。希望它也能解决你的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多