2012-08-15 28 views
0

重要的是要指出,我从来没有创建过Facebook应用程序,也不知道从哪里开始 - 假设答案将在开放式图形循序渐进教程中给出。开放图形教程假设?和误解?导致“发生错误”?

我得到了第4步,并得到了现在着名的“发生错误”对话框 - 这可能是由于一个或多个误解和代码示例问题。由于某些“假设”可能是我所有问题的根源,所以我很欣赏某些“假设”

为了节省时间,我跳到了教程的末尾,下载了示例代码,并将其用于最终代码(object.html)

  1. 应用程序域和网站网址 - 你的教程说要选择网站的选项 - 我用应用程序域如下:

www.teamworks.co.za和网站网址:www.teamworks .co.za/grow/object.html

这意味着我可以访问页面独立的Facebook,无论是否登录或不登录

问题:这是意图还是应该在Facebook内部运行? (即我错过了这里的东西?) 问题:该页面会从我的Facebook登录账号中获取我的用户凭证吗? (当我有facebook打开并登录在同一浏览器 - 但不同的标签) 问题:我的测试用户如何启动应用程序 - 作为测试用户登录时,我看到应用程序 - 它有一个设置页面,但没有点击 - 能够打开页面的链接?

  1. 图片:没有明确的指令来改变样本代码在这里的图像的位置:<meta property="og:image" content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" />

或这里:

<img title="Stuffed Cookies" src="http://fbwerks.com:8000/zhen/cookie.jpg" width="550"/> 

除了在最后的下载的代码示例,其表示:

<meta property="og:image" content="http://YOUR_URL/cookie.jpg" /> 

and

<img title="Oreo Stuffed Cookies" src="http://YOUR_URL/cookie.jpg" width="550"/><br /> 

当我使用所提供的图像位置,当我调试我得到的错误,例如:

微型OG:图片:由OG引用的所有图片:图片必须是在两个维度上至少200像素。请检查标记为og:image的所有图像,并确保它符合最低规格。

当我用我自己的形象定位,调试器不会抱怨即MYDOMAIN /成长/ cookie.jpg(两个图像)

问:我可以因此放心地假设,我可以用我自己的替换图像的URL这不是“发生错误”对话框的原因吗?

  1. 下载示例有额外的代码位i。e <fb:add-to-timeline></fb:add-to-timeline>> 请注意double >>在最后 - 我现在删除了它,因为它在本教程中未涉及 问题:我可以安全地假定删除不是“发生错误”对话框的原因吗?

  2. 下载的例子标签: <head prefix="og: http://ogp.me/ns# og_recipebox: http://ogp.me/ns/apps/YOUR_NAMESPACE#"> 翻译为: <head prefix="og: http://ogp.me/ns# og_recipebox: http://ogp.me/ns/apps/groworganic#"> 看起来该recepie对象上点击时产生一个不同的“获取密码”按钮即 <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# groworganic: http://ogp.me/ns/fb/groworganic#"> 问题:哪一个是正确的使用?

5,下载的例子有这个脚本标签

<script src="http://connect.facebook.net/en_US/all.js"></script> 

我假设取代了本教程下面的代码:

// Load the SDK Asynchronously 
(function(d){ 
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    d.getElementsByTagName('head')[0].appendChild(js); 
}(document)); 

问:这是假设是正确的?

我不再收到错误,但我也没有收到成功 - 我现在没有回应 - 但代码通过调试测试。

我将不得不重新开始,在此期间我复制我的代码在下面,希望我会得到上述问题的一些答案。

下面

是我object.html代码:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"> 
<head prefix="og: http://ogp.me/ns# og_recipebox: http://ogp.me/ns/apps/groworganic#"> 
<meta property="fb:app_id" content="472670852757244" /> 
<meta property="og:type" content="groworganic:recepie" /> 
<meta property="og:title" content="Oreo Stuffed Cookies" /> 
<meta property="og:image" content="http://www.teamworks.co.za/grow/cookie.jpg" /> 
<meta property="og:description" content="The Turducken of Cookies" /> 
<meta property="og:url" content="http://www.teamworks.co.za/grow/object.html"> <script type="text/javascript"> 
function postCook() 
{ 
FB.api(
'/me/groworganic:cook', 
'post', 
{ recipe: 'http://www.teamworks.co.za/grow/object.html' }, 
function(response) { 
if (!response) { 
alert('Error occurred : No Response'); 
} else if (response.error) { 
alert('Error occurred : ' + response.error); 
} else { 
alert('Cook was successful! Action ID: ' + response.id); 
} 
}); 
} 
</script> 
</head> 
<body> 
<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
FB.init({ 
appId:'472670852757244', cookie:true, 
status:true, xfbml:true, oauth:true 
}); 
</script> 
<h3> 
<font size="30" face="verdana" color="grey">Stuffed Cookies 
</font> 
</h3> 
<p> 
<img title="Oreo Stuffed Cookies" src="http://www.teamworks.co.za/grow/cookie.jpg" width="550"/><br /> 
</p>  
<form> 
<input type="button" value="Cook" onclick="postCook()" /> 
</form> 
<fb:activity actions="groworganic:cook"></fb:activity> 
</body> 
</html> 
+0

同意CBroe *方式太多问题*在这里。请将其分解为单独的帖子,以便用户更轻松地单独解决问题。另外'为了节省时间,我跳到了本教程的末尾,下载了示例代码,并且使用了它来代表我的最终代码,否则您不应该这样做。“(除非您有以前的经验),如果您试图了解教程。 – phwd 2012-08-28 17:57:05

回答

2

问题:将页面从我的Facebook登录拿起我的用户凭据?

不,您必须先登录用户(让他们“连接”到您的应用程序)。你可以在JS SDK中使用FB.login

对于您的其他帖子:同时出现太多问题。

需要注意的是我从来没有创建一个Facebook应用程序之前

那么你或许应该不发布的Open Graph行动马上开始,但加深你对知识是很重要如何用户认证和与Graph API交互作用首先。做一些简单的事情,用户可以登录并从显示的Graph API获取他的个人信息,或者一旦你理解了这些基础知识,就可以转到更复杂的主题,如Open Graph操作。