1

ローカル アプリケーションから Facebook イベントを作成しようとしていますが、ユーザーがイベント情報を入力するフォームがあります。thisによると、ポストコールを行う必要がありますhttps://graph.facebook.com/USERID/events

そうするために、urlopenをそのまま使用しました

form_fields = {
           "access_token": request.user.get_profile().access_token,
           "name" : "name",
           "start_time" : "01/01/2012"
}
urllib2.urlopen(update_url,urllib.urlencode(form_fields))

取得したコードを実行する

HTTP Error 400: Bad Request

プログラムをデバッグした後、変数の値は

update_url = str: https://graph.facebook.com/XXXXXXXX/events

form_fields = dict: {'access_token': u'XXXXXX', 'start_time': datetime.datetime(2012, 1, 6, 0, 0), 'location': 'someplace', 'name': u'ab'}

update_url は正しいようで、問題は form_fields にあると推測しています。では、これらのフィールドを Facebook Graph API に渡すにはどうすればよいでしょうか?

    Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Akshay\workspace\example\example\planpouchproto\views.py" in createPouch
  20.             graph.post('%s/events' %request.user.get_profile().facebook_id, **{"access_token": request.user.get_profile().access_token,"name" : cd['event_name'],"start_time" : "01/01/2012"})
File "C:\Users\Akshay\workspace\example\example\facepy\graph_api.py" in post
  65.             retry = retry
File "C:\Users\Akshay\workspace\example\example\facepy\graph_api.py" in _query
  240.                 return load(method, url, data)[0]
File "C:\Users\Akshay\workspace\example\example\facepy\graph_api.py" in load
  196.             result = self._parse(response.content)
File "C:\Users\Akshay\workspace\example\example\facepy\graph_api.py" in _parse
  282.                     error.get('code', None)

Exception Type: OAuthError at /pouch/
Exception Value: 
4

1 に答える 1

1

Facepyを使用すると、Facebook とのやり取りが簡単になります。試してみてください。

グラフにイベントを投稿すると、次のようになります

graph.post('USERID/events', form_fields)

デバッグするには、コメントを投稿して認証が機能するかどうかをテストできます。

graph = GraphAPI(request.user.get_profile().access_token)
graph.post(path="me/feed", message="hello FB", caption="hello FB", description="hello FB")

次に、問題を絞り込むことができます。

于 2012-06-29T12:57:09.000 に答える