我试图在facebook messenger api中读取网站html输出,代码正在服务器上工作,但是当我在facebook api(messenger)中尝试时它会出错,这就是我得到的:< / p>
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="https://www.google.ca/?gfe_rd=cr&ei=SaHbWPOrQXp_JvNB">here</A>.
</BODY></HTML>
我已尝试过file_get_contents,fopen,readfile,curl等所有错误。
我在使用curl时尝试将网站更改为安全连接(https),https://google.com,并将错误消息更改为:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.<br />
</p>
<p>Additionally, a 403 Forbidden
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
stackoverflow显示:
jQuery(window).width() > 769
我该怎么办?
答案 0 :(得分:0)
谷歌不能用于iframe和卷曲谷歌服务器阻止它,你的代码在其他网站上工作得很好,只有建立owm页面并使用google search api.
代码示例:
直接发出HTTP请求
如果外部应用程序需要Google身份验证,或者此库中尚未提供Google API,则可以直接发出HTTP请求。
authorize方法返回授权的Guzzle客户端,因此使用客户端发出的任何请求都将包含相应的授权。
// create the Google client
$client = new Google_Client();
/**
* Set your method for authentication. Depending on the API, This could be
* directly with an access token, API key, or (recommended) using
* Application Default Credentials.
*/
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Plus::PLUS_ME);
// returns a Guzzle HTTP Client
$httpClient = $client->authorize();
// make an HTTP request
$response = $httpClient->get('https://www.googleapis.com/plus/v1/people/me');