2013-01-25 55 views
-2

我是比较新的开发,所以一些技术指南有点难以理解(如如何使用开放图形“行动”代码为卷曲等)。我创建了一个小应用程序,它的行为与facebook类似(并且充当各种投票......但还没有到那个部分,当它被回答时可能将它作为单独的问题发布)。我的问题是与应用程序访问令牌。我不知道如何将它传递给html/php页面(使用页面标签)和动作。我可以为自己获取应用访问令牌,并使用手动网址字符串测试用户,在此处使用必要信息替换app_id和app_secret,并获得对应用的访问权限。然而,对于其他用户,我总是得到这个错误应用程序访问令牌.....如何正确使用

{"error":{"message":"(#200) Requires extended permission: publish_actions","type":"OAuthException","code":200}} 

下面是动作

FB.init({ 
    appId  : '446224932099458', // App ID from the App Dashboard 
    status  : true, // check the login status upon init? 
    cookie  : true, // set sessions cookies to allow your server to access the session? 
    xfbml  : true // parse XFBML tags on this page? 
}); 

FB.getLoginStatus(function (response) { 
    if (response.status === 'connected') { 
     // connected 
     testAPI(); 
    } else if (response.status === 'not_authorized') { 
     // not_authorized 
     login(); 
    } else { 
     // not_logged_in 
     login(); 
    } 

function login() { 
    FB.login(function (response) { 
     if (response.authResponse) { 
      // connected 
     } else { 
      // cancelled 
     } 
    }, {scope: 'publish_actions,publish_stream'}); 
} 

function testAPI() { 
    console.log('Welcome! Fetching your information.... '); 
    FB.api('/me', function (response) { 
     console.log('Good to see you, ' + response.name + '.'); 
    }); 
} 

注意FB.getLoginStatus嵌套在FB.init的代码。 FB.login不在FB.init中。

我已经在代码中放入了FB.init,FB.getLoginStatus和FB.login。用户被要求登录到应用程序,并允许它的权限,但问题仍然存在。

这是链接到应用程序 http://www.facebook.com/TechOnePhilippines/app_446224932099458

任何帮助,将SO不胜感激!提前致谢。

+0

你请求在你的''scope' publish_actions'?请参阅“权限”标题以获取更多信息:https://developers.facebook.com/docs/howtos/login/client-side-without-js-sdk/ – cpilko

+0

请发布您的登录代码,因为此问题与此相关部分? –

+0

嗨Anvesh,我编辑了上面的帖子,包括FB.login。 嗨cpilko,抱歉,但我不知道如何使用“步骤2”为所有用户(真正的新手在这里)。 – Vanman

回答

0

你可以发布你的登录代码吗? 很难看出问题与这些代码有关。 错误消息可能与发布权限高度相关。

FB.login(function(response) { 
    if (response.authResponse) { 
     //your code 
    }else { 
     //error code 
    } 
},{scope:'email,user_photos,publish_stream'}); 

尝试设置范围时的FB.login调用..

+0

嗨,谢谢你的帮助。我编辑原始帖子,以反映你需要的代码,以及应用程序的链接 – Vanman

+0

我想我想通了。我主要把FB.login和FB.getLoginStatus放在入口页面上。主页没有他们。当我把它放在主页上时,现在一切都很顺利。一些用户虽然仍然得到“错误2500”,但可能是因为他们以前是测试人员(并且这些更改尚未传播)。 – Vanman

相关问题