一个看似奇怪的OAuthException

yat*_*ade 5 oauth facebook-graph-api

我正在学习构建fb应用程序,并且在第一次尝试时,我得到了这个奇怪的OAuthException.该教程清楚地提到我需要传递redirect_uri,client_secret,client_id和代码(来自app auth阶段).但是当流程完成时,我得到的是JSON错误对象而不是获取访问令牌:

{"error":{"message":"client_secret should not be passed to \/oauth\/access_token\/","type":"OAuthException"}}
Run Code Online (Sandbox Code Playgroud)

编辑:这是我用来建立网址的片段(请原谅第二行过多,请)

url = "https://graph.facebook.com/oauth/access_token/"
url += "?" 
url += urllib.urlencode([('client_id',client_id),
                           ('redirect_uri', redirect_uri),
                           ('client_secret', client_secret),
                           ('code', code)])
Run Code Online (Sandbox Code Playgroud)

变量保存正确的值.(选中> 5次)

Flo*_*urn 9

您应该在url中的access_token之后立即删除/,以便读取graph.facebook.com/oauth/access_token?后跟您的参数.如果没有这样做,请显示你生成的整个样本网址(当然是真正的client_secret x'ed),因为我不熟悉urllib.urlencode以确保格式化,尽管该部分看起来一目了然.

  • 那真是棒极了@floyd,它奏效了.我怎么能见到你所以我可以拥抱你?:P :)实际上,对FB API开发人员来说,他们无法处理这样一个简单的案例是一种耻辱. (4认同)