如何检索用户的新闻源列表(VK.com)?

时间:2013-09-14 13:18:48

标签: php mysql news-feed

我正在使用以下php代码:

$vk = new VK($app_id, $api_secret);

$user_wall = $vk->api('newsfeed.get', array(
                         //'owner_id' => $o->profile_uid,
                         'count' => 100,
                         'filters' => 'post,photo,wall_photo,friend',
                         'access_token' => $o->profile_token
                     ));

echo '<pre>';
print_r($user_wall);
exit;

尝试上面的代码时出错了。我已成功完成auth并在mysql表中存储用户配置文件信息。我注意到当我在App&gt;中看到Api.Console权限时设置,我看到Access the Wall权限。但是在我用来检索数据的应用程序中,我没有看到这个权限。

  

错误说明:拒绝执行此操作的权限

     

错误代码:7

文档描述不清楚。甚至哪个领域是必需的或可选的我无法确定。 wall.get与过滤器“others”vs newsfeed.get之间有什么区别?

登录代码:

$AuthURL = $vk->getAuthorizeURL('notify,friends,photos,audio,video,docs,notes,pages,status,offers,questions,wall,groups,notifications,stats,ads,offline', $redirect_uri);

AUTH CODE:

$vk_code = $_REQUEST['code'];

$vk = new VK($app_id, $app_secret);

$access_token = $vk->getAccessToken($vk_code, $redirect_uri);

$uid = $access_token['user_id'];

$token = $access_token['access_token'];

$user_info = $vk->api('users.get', array(
        'user_ids'       => $uid,
        'fields'        => 'nickname, screen_name, sex, bdate (birthdate), city, country, timezone, photo, photo_medium, photo_big, has_mobile, contacts, education, online, counters, relation, last_seen, activity, can_write_private_message, can_see_all_posts, can_post, universities, counters'       
));

2 个答案:

答案 0 :(得分:0)

您需要以下权利才能调用此方法:墙和朋友。 (Read more on rights

您必须通过墙和朋友生成授权......

https://oauth.vk.com/authorize?client_id=APP_ID&scope=wall,friends,offline

只需将APP_ID替换为您的appilication,然后获取您的令牌

答案 1 :(得分:0)

  1. 首先,您必须注册申请: vk.com/editapp?act=create

  2. 然后您需要获取授权码。为此,请按以下链接: oauth.vk.com/authorize?client_id={APP_ID} &安培;范围= <强> {API_SETTINGS} {APP_ID} - 您的应用ID(请参阅应用设置页面), {API_SETTINGS} - 您的应用请求的访问权限(通过逗号)。如果需要无限令牌,请使用“离线”键。对于新闻源,需要使用“墙,朋友,离线”键。 打开页面。复制网址 AFTER #code =

  3. 中的字符串
  4. 稍后您需要获取访问令牌。转到链接: https://oauth.vk.com/access_token?client_id= {APP_ID} &安培; client_secret = <强> {API_SECRET} &安培;代码= <强> {CODE} {API_SECRET} - 秘密应用密钥(请参阅应用设置页面), {CODE} - 在步骤2中复制的代码。 复制access_token

  5. 获取新闻源数据请求链接: https://api.vk.com/method/newsfeed.get.xml?access_token= {ACCESS_TOKEN} {ACCESS_TOKEN} 的位置 - 第3步中的令牌。

  6. 注意:使用此操作时使用HTTPS