谷歌应用引擎中的Fb好友选择器

时间:2011-09-12 17:25:15

标签: javascript jquery google-app-engine facebook-graph-api

<fb:serverFbml style="width: 240px;">
                        <form method="post" action="/friend-selector" id="friend-selector">

                                <script type="text/fbml">
                            <fb:fbml>
                                <fb:friend-selector uid="xxxxx" name="uid" idname="friendselector_s"/>
                            </fb:fbml>
                            </script>
                            <INPUT type="submit" value="submit" class="submit" />
                        </form>
                    </fb:serverFbml>

在后端,我正在尝试获取朋友ID:

def post(self):
  logging.info(self.request.POST)
  ss=self.request.POST[u'friendselector_s']
  logging.info(ss)`

所以我想出错了。

Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 702, in __call__
    handler.post(*groups)
  File "D:\Workspace\main.py", line 142, in post
    ss=self.request.POST[u'friendselector_s']
  File "C:\Program Files\Google\google_appengine\lib\webob\webob\multidict.py", line 302, in __getitem__
    return self._decode_value(self.multi.__getitem__(key))
  File "C:\Program Files\Google\google_appengine\lib\webob\webob\multidict.py", line 77, in __getitem__
    raise KeyError(key)

我在facebook中使用此代码与google app egine在后端。在后端收集数据时我没有得到idname。总的来说,我没有被选中的朋友。 我还需要javscript方面的数据。

1 个答案:

答案 0 :(得分:1)

您应该使用新的App Request JavaScript函数来发送请求,而不是折旧的FBML版本。您可以使用以下方式执行简单的请求:

FB.ui({method: 'apprequests',
    message: 'My Great Request',
}, requestCallback);

Facebook Requests Documentation可以帮助您进一步提升。