【问题标题】:How to retrieve user's newsfeed list (VK.com)?如何检索用户的新闻源列表(VK.com)?
【发布时间】:2013-09-14 13:18:48
【问题描述】:

我正在使用以下 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;

尝试上述代码时出现错误。我已成功完成身份验证并将用户配置文件信息存储在 mysql 表中。我注意到当我在 App> Setting 中看到 Api.Console 权限时,我看到了 Access the Wall 权限。但是在我用来检索数据的应用程序中,我没有看到这个权限。

错误描述:执行此操作的权限被拒绝

错误代码:7

文档描述不佳。即使哪个字段是必需的或可选的,我也无法确定。带有过滤器“其他”的 wall.get 与 newsfeed.get 有什么区别?

登录代码:

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

授权码:

$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'       
));

【问题讨论】:

    标签: php mysql feed


    【解决方案1】:
    1. 首先您必须注册应用程序:vk.com/editapp?act=create

    2. 那么你需要获取授权码。要做到这一点,请点击链接: oauth.vk.com/authorize?client_id={APP_ID}&scope={API_SETTINGS} 其中 {APP_ID} — 您的应用程序 ID(请参阅应用程序设置页面), {API_SETTINGS} — 您的应用请求的访问权限(通过逗号)。如果需要无限令牌,请使用“离线”键。对于新闻源需要使用键“wall,friends,offline”。 打开页面。复制 URL AFTER 中的字符串 #code=

    3. 稍后您需要获取访问令牌。转到链接: https://oauth.vk.com/access_token?client_id={APP_ID}&client_secret={API_SECRET}&code={CODE} 其中 {API_SECRET} — 秘密应用程序密钥(参见应用程序设置页面), {CODE} — 在第 2 步中复制的代码。 复制 access_token

    4. 获取新闻源数据请求链接: https://api.vk.com/method/newsfeed.get.xml?access_token={ACCESS_TOKEN} 其中 {ACCESS_TOKEN} — 步骤 3 中的令牌。

    注意:使用此操作时请使用 HTTPS

    【讨论】:

    • 我已经注册了应用程序并在我的代码中替换了 id 和 secret 即使我能够获取用户配置文件数据。唯一的问题是当尝试获取新闻时出现错误。在您的第四步中,我也传递了令牌。如果您有工作的 php 代码,请发布。
    • 现在查看我的问题,我现在已经编辑并放置了登录和身份验证回调代码。app_id 和密钥是我的应用程序密钥和密钥。
    【解决方案2】:

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

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

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

    只需将 APP_ID 替换为您的应用程序,然后获取您的令牌

    【讨论】:

    • 嗨 Ayxan,我使用了以下范围:通知、朋友、照片、音频、视频、文档、笔记、页面、状态、优惠、问题、墙、组、通知、统计信息、广告、离线 I认为我几乎使用了所有范围,以避免权限问题。任何想法我仍然得到错误。
    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    相关资源
    最近更新 更多