VK通过PHP自动发布在墙上

时间:2019-04-18 20:49:41

标签: php api vk

我想通过PHP在vk.com的墙上贴一些照片,文字等。 几天以来,我试图了解VK的官方指南(https://vk.com/dev/PHP_SDK)和在GitHub(https://github.com/fdcore/vk.api)中找到的一些技巧。

代码很少,但是我很难到达第二或第三行。

我立即收到php错误,JSON错误等,等等。我什至无法让自己给出第一个Access_token,Autorization_code等。 我承认我对OAuth和API不太了解,但是在这里我什至无法开始。

即使事物的名称很奇怪,secret_key,secure_key,api_key,我认为它们总是相同的,但是我不确定,但是它们给了我,我想是她。

这些API是否有效?有假人指南吗?您可以一步一步地指导我,只是为了了解我做错了什么,即使我做了很少的步骤。

或者也许还有其他可行的脚本或类?

2 个答案:

答案 0 :(得分:0)

我想首先,您将需要类似于下面的代码,不要忘记从Github https://github.com/fdcore/vk.api/blob/v2/src/vk.php下载VK类库。

<?php

    // Need to have the vk.php in the same directory.
    include 'vk.php';

    // Please complete the below with your details/credentials.
    $config['secret_key'] = '';
    $config['client_id'] = '';
    $config['user_id'] = '';
    $config['access_token'] = '';
    $config['scope'] = 'wall,photos,friends,groups';

    // Get a new instance of VK.
    $v = new Vk($config);

    // Define the attachment to insert, in this case an image.
    $attachments = $v->upload_photo(0, array('1737759.jpg'));

    // Post the message and image to your wall.
    $response = $v->wall->post(array(
       'message'=>'test 1737759.jpg',
       'attachments' => implode(',', $attachments)
    ));

?>

该类处理所有幕后编码,并与Vk进行整体交谈。以及为什么要重新发明轮子!

答案 1 :(得分:0)

每个人都停下来!

我删除了该应用程序,然后创建了一个新应用程序...它可以工作...我有一个有效的URL和一个有效的令牌。

但是奇怪的是,这些天来我做了很多测试,尝试了许多脚本,并使用相同的设置(独立)多次创建和删除了应用程序...现在他喜欢它并且可以工作...

现在有了给我吉姆·格兰特(Jim Grant)和令牌的代码,一切正常,我可以通过PHP在VK墙上上传照片。

要使用带有令牌的URL,我使用了以下方法:

$v = new Vk(array(
    'client_id' => 123456, // (required) app id
    'secret_key' => '', // (required) get on https://vk.com/editapp?id=12345&section=options
    'user_id' => 12345, // your user id on vk.com
    'scope' => 'wall,photos,friends,groups', // scope access
    'v' => '5.52' // vk api version
));

$url = $v->get_code_token();

echo $url;

然后我授予了权限,并从地址栏中的URL中获取了令牌。

然后我将Jim Grant代码与新令牌一起使用,一切正常。当一切正常时,真的很简单。