根据Facebook docs,支持OAuth Device Flow。
但是,当我按照他们关于启动设备流程的指示时,我收到状态代码400(方法未实现)。
有没有人成功地让Facebook设备流程能够正常运作?
curl -X post https://graph.facebook.com/oauth/device?type=device_code&client_id= {appId}
<HTML>
<HEAD>
<TITLE>400 Bad Request</TITLE>
</HEAD>
<BODY>
<H1>Method Not Implemented</H1>
Invalid method in request<P>
</BODY>
</HTML>
答案 0 :(得分:2)
关于您的具体错误,似乎facebook文档让您做错了:FAIL
您必须发送一个POST请求,您要求cURL这样做,但请求数据不得是URL的一部分。相反,您应该使用-d选项指定发送的数据并使用最多的URL?符号,如this superuser question
中所示但是!即使您使用了正确的HTTP方法,也会收到错误消息:
不支持的类型:'device_code'。支持的类型:web_server,user_agent,client_cred,username
现在最好的部分:除非你使用自己用于their demo的client_id facebook,否则会发生这种情况!在这种情况下,您将获得具有预期代码,user_code和verification_uri的200(OK)响应。显然他们的应用程序与我们正在尝试的应用程序有所不同。在应用程序配置页面中没有关于此的提示。
顺便说一下,我没有发现有人声称已经成功使用了Facebook的设备流程,对吗?
答案 1 :(得分:0)
这是一个示例实现,但我还没有设法使用我自己的项目: https://oauth-device-demo.appspot.com/
答案 2 :(得分:0)
我也遇到了同样的错误。
看这篇文章
http://forum.developers.facebook.net/viewtopic.php?id=105132
它教你如何设置应用程序,但尝试后,没有任何改变〜
你可以试试〜