我的问题与此非常相似.
我正在处理的Instagram应用程序是SandBox模式
在我的应用程序中,我首先获得public_content权限,以获取我需要的必要信息.
但是,当我试图获取经过身份验证的用户所遵循的私人帐户的信息时,我收到APINotAllowedError错误消息
这是我尝试访问的API端点:
https://api.instagram.com/v1/users/PRIVATE_PROFILE/media/recent/?access_token=TOKEN_OF_USER_THAT_FOLLOWS_PRIVATE_PROFILE
这两个帐户都被邀请到沙盒应用程序,如果我使用相同的代码将其设置为公共,我可以从私人帐户获取最近的媒体.
这是API应该如何工作,因为你应该能够从跟随他的用户那里获得私人用户的信息.
首先,这不是重复的问题 StackOverflow关于YouTube API的其他答案是2013年之前,不再有效.
我必须使用PHP中的YouTube视频ID获取YouTube视频标题.
目前我这样做:
$html = "http://www.youtube.com/watch?v=".$video_id;
$doc = new DOMDocument();
$doc->loadHTMLFile($html);
$doc->preserveWhiteSpace = false;
$title_div = $doc->getElementById('eow-title');
$title = $title_div->nodeValue;
Run Code Online (Sandbox Code Playgroud)
但是这会引发错误:
Warning: DOMDocument::loadHTMLFile(http://www.youtube.com/watch?v=hMpCsfvi_3c): failed to open stream: HTTP request failed! HTTP/1.0 429 Too Many Requests in /home/vhosts/xxxx/xxxx/get_youtube_title.php on line 6
Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "http://www.youtube.com/watch?v=hMpCsfvi_3c" in /home/vhosts/xxxx/xxxx/get_youtube_title.php on line 6
Run Code Online (Sandbox Code Playgroud)
上面的方法适用于Godaddy托管,但不适用于101domain.com托管.
我尝试过的另一种方法是:
if($content=file_get_contents("http://youtube.com/get_video_info?video_id=".$video_id)) {
parse_str($content, $ytarr);
$myvideos[$i]['video_title']=$ytarr['title'];
}
else
$myvideos[$i]['video_title']="No title";
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
Warning: DOMDocument::loadHTMLFile(http://youtube.com/get_video_info?video_id=hMpCsfvi_3c): failed to open stream: HTTP request failed! …Run Code Online (Sandbox Code Playgroud)