2011-10-28 12 views
0

私は自分のサイトのページタブを構築していますが、それはfacebookのページIDでカスタムにする必要があります。私はいくつかの異なるエラーを参照してくださいFacebookのファンページタブのDjangoビュー

@csrf_exempt 
def iframe_playlist(request): 
code = request.REQUEST.get("signed_request", None) 
code = 'none' if code == None else 'none' 
return HttpResponse(code) #<<< I tried to output the request 
       #<<< and see if the request exists. but it always shows to none. 
code = code.split('.', 2) 
code = facebook.base64_url_encode(code) 
code = json.loads(code) 
uid = json['user_id'] 
site_user = get_object_or_404(FacebookProfile, uid=uid) 
app = get_object_or_404(AppPage, user=site_user.user) 
playlist = app.playlist 
image = app.image if app.image else None 

答えて

0

、最も重要なものは、この行である:

code = 'none' if code == None else 'none' 

それは基本的に述べていない:

code = 'none' # Always! 

次の行は、常に "none" を出力しないことも不思議では;)さらに、if code == Noneの代わりにif code is Noneを使用する必要があります。これは非常に重要です!

code = request.REQUEST.get("signed_request", None) 
code = 'none' if code == None else 'none' 

へ:あなたが本当に必要なもの

は、これらの行に変更することで、コードが動作するときに、後で

code = request.REQUEST.get("signed_request", 'none') 

とを、あなたも「文字列値を設定する必要はありませんnone " - 私が理解しているようにデバッグ用です。

さらに、「signed_request」はFacebookによってPOSTとして渡される必要があります。そして、Django docsに従って:

強く、前者がより明示的であるため、あなたがGETとPOSTの代わりにREQUEST、 を使用することを示唆しています。

最初のヒントが解決しない場合は、あなたのURLが正しければ、これに応じて、チェックしてください:フィードバックのためのFacebook iframe tab signed request always empty

+0

おかげで、それを試してみて、あなたに – genxstylez

+0

感謝をbqck来る、それは働きます! – genxstylez

関連する問題