Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 如何通过OAuth2从vKontakte(VK)获取访问令牌?_Oauth 2.0_Vk - Fatal编程技术网

Oauth 2.0 如何通过OAuth2从vKontakte(VK)获取访问令牌?

Oauth 2.0 如何通过OAuth2从vKontakte(VK)获取访问令牌?,oauth-2.0,vk,Oauth 2.0,Vk,我正试图通过网络从vKontakte(俄罗斯社交网络)获取访问令牌。 这就是我打电话的方式: https://oauth.vk.com/authorize?client_id=12345&scope=wall,offline&redirect_uri=https://www.example.com/oauth/vk.php&display=page&v=5.24&response_type=token 我正在接收访问令牌,但如果我尝试使用它发布消息,我将

我正试图通过网络从vKontakte(俄罗斯社交网络)获取访问令牌。 这就是我打电话的方式:

https://oauth.vk.com/authorize?client_id=12345&scope=wall,offline&redirect_uri=https://www.example.com/oauth/vk.php&display=page&v=5.24&response_type=token
我正在接收访问令牌,但如果我尝试使用它发布消息,我将收到以下错误:

//error: Permission to perform this action is denied for non-standalone applications: you should request token using blank.html page.
我的应用程序是一个独立的应用程序-为什么我会收到错误

我看到你的“客户id”是“12345”-是假的,还是真的?您是否从VK获得了有效的客户端id

您似乎应该通过“blank.html”请求令牌:

https://oauth.vk.com/authorize?client_id=&scope=...,墙,…&重定向\u uri=https://oauth.vk.com/blank.html&response_type=token

(在您的示例中,不是vk.php)

您遵循的步骤是正确的


警告消息
请不要将数据从地址栏复制到第三方站点。因此,您可能无法访问您的帐户。
将显示在屏幕上。然而,实际的访问令牌将在地址栏上找到。

这正是它所说的-您不能对非独立应用程序使用隐式流。相反,您应该使用授权代码流,这对客户端应用程序更安全。

经过长时间的研究,我了解到允许在用户墙上发布的access_令牌位于此页面的URL中,而此页面上有一个警告,提示用户

请不要将地址栏中的数据复制到第三方网站。 因此,您可能无法访问您的帐户

因此,作为一名开发人员,我必须说服用户vk是错误的,并且您必须提供访问令牌。。。
完全混乱。。。它的工作原理很愚蠢

这是一个假的,我从VK收到了一个有效的令牌。我没有收到令牌,但从VK收到了一个警告:
请不要将地址栏中的数据复制到第三方站点。因此,您可能无法访问您的帐户。
也许它在VK端是硬编码的,所以您应该在应用程序中重定向到blank.html。例如:…重定向_uri=。。。在应用程序中创建blank.html页面,然后重试。@OhadR我也在寻找解决方案。是否需要使用VKURL
https://oauth.vk.com/blank.html
用于重定向以接收令牌,还是我错了?你能进一步解释一下还是给我举个例子?
https://oauth.vk.com/authorize?client_id=<app_id>&scope=...,wall,...&redirect_uri=https://oauth.vk.com/blank.html&response_type=token